Autor Beitrag
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 375
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Mi 25.02.15 13:22 
Hallo,

ich habe ein merkwürdiges Verhalten bei einem meiner Programme gefunden.
Es werden bei Programmstart 2800 wav-Dateien , alle ca. 1Mb groß, mit BASS als Stream geladen.
Also ungefähr, mit Programm 3 GB. Dauert etwas, aber kein Problem.
Nun schaue ich im Taskmanager den Speicherverbrauch an und erhalte nur 1.5 GB.
???
Das Programm wird beendet und alle!! Resourcen freigegeben. Taskmanager zeigt mir
die alte RAM-Belegung an. Also OK.

Nun starte ich das Programm erneut und siehe da, die Ladezeit aller Dateien ist
nicht mal die Hälfte, so, als ob die Daten schon im RAM wären. Nach Freigabe?
Mir ist klar, das die Daten nicht wirklich entfernt werden, aber deren Adressen doch wohl?

Seltsam....
Die Daten sind alle vom Programm greifbar (es ist eine elektr. Orgel) und ein Nachladen ist
zeitlich nicht spürbar.

Kann mir jemand erklären, warum?

Hansi

_________________
Brain: an apparatus with which we think we think.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 25.02.15 13:37 
Moin!

user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Kann mir jemand erklären, warum?
Das Betriebssystem cached die Dateien, die du geöffnet hast für den nächsten Zugriff. :idea: Und wie´s aussieht, macht´s das doch genau richtig... :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: ssb-blume
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 25.02.15 13:49 
Der Taskmanager ist zur Beurteilung des Speicherverbrauchs auch eher ungeignet. Zumindest aus Programmierersicht.
Um einen besseren Überblick zu bekommen hilft da zum Beispiel RAMMap von Sysinternals.
Hilfreich zum Beispiel auch um echtes Kaltstart Verhalten seiner Anwendung zu prüfen da man mit RAMMap auch mal schnell alle Caches leeren kann.

Für diesen Beitrag haben gedankt: Narses