Vielen Dank an alle fuer die nuetzlichen Informationen!
Da die Antworten aber so detailiert sind, stellt sich mir weiterhin die Frage:
Wenn ich alle Bild-Resourcen (.png's) beim Programmstart aus den Resourcen in eine Feldvariable TImageList o.ae. lade, laden diese dann beim Anfragen der Bilddaten beim ersten mal schneller als mit LoadFromResourceName?
Die EXE wird immer komplett in den Speicher geladen?
Nein, nicht wirklich. Windows verwendet hier seine virtuelle Speicherverwaltung: Die Datei wird (wie ein memory mapped file) mit einem Speicherbereich im Addressraum des Prozesses verknüpft. Der ist in Seiten fester Größe aufgeteilt, und wenn auf eine Addresse zugegriffen wird wird die Seite (wenn noch nicht geschehen) aus der Datei in den physischen Arbeitsspeicher geladen. Es werden also aus einer Programmdatei (oder
DLL) nur die Teile geladen, die auch verwendet werden.
Also werden die .RES-Inhalte vor Erst-Verwendung direkt in den
RAM geladen, weil aufgrund der
ASM-Zugriffe klar wird, dass sie spaeter eh gelesen werden, oder landen sie erst in der Pagefile und beim Erstzugriff dann im
RAM?