SaveToFile speichert zuerst in den WindowsFileCache und Windows schiebt es auf die Festplatte. Es bleibt dann auch im Cache, so lange wie möglich.
Wenn der
RAM reicht, wird die Festplatte kein Flaschenhals sein.
MMF mit Dateianbindung, mappt es in den "physischen"
RAM, wenn der Platz reicht und der REST bleibt auf der Festplatte. (in der Datei)
Bei MMF ohne Datei bleibt es im physischen
RAM oder landet in der Auslagerungsdatei (Festplatte).
Speicherseiten im Virtuellen Arbeitsspeicher bleiben immer da, wo man sie hingemappt hat, aber aber ob sie "aktuell" im physischen Speicher geladen sind, hängt davon ab, ob man darauf zugreift und ob genügend physischer Speicher zur Verfügung steht.
Fazit: Du kannst nur durch MMF rein garnichts verbessern.
Außer zusätzlich zum physischen
RAM auch noch deinen Virtuellen vollzumüllen (PS: Bei einem 32-Bit-Programm hast du da nur maximal 2 bis 3 GB
RAM zur Verfügung)
Und dein Flaschenhals ist eigentlich der zu geringe Arbeitsspeicher.
PS: PNG hat zwar eine "gepackte" Version des Bildes, aber es existiert auch intern eine entpackte Version (Bitmap), vorallem wenn man das PNG fisch erstellt hat (neu generiert und bemalt) oder darin rummalt.
TPngImage.GetHeader{TChunkIHDR}.FreeImageData