Einzelnen Beitrag anzeigen

hzzm

Registriert seit: 8. Apr 2016
103 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: Delphi .RES Resourcen - grundsaetzliche Funktionsweise

  Alt 27. Jun 2019, 15:37
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?
  Mit Zitat antworten Zitat