![]() |
Speicherauslastung
Hallo,
wenn ich im TaskManager nachsehe, benutzt mein Programm 1,8MB. Wenn ich jetzt Form2 öffne und mit dem OpenDialog arbeite auf einmal 5MB. Wenn ich mit FREE Form2, die ListView und den OpenDialog freigebe, dann ändert sich am speicher nix. Wie kommt das? Will wieder auf die 1,8MB runter... Danke |
Re: Speicherauslastung
Versuch mal destroy anstatt free.
Selbst wenn es nicht geht, 5MB sind heute mehr als passabel. Wenn ich da so an die Speicherauslastung von Photoshop denke... |
Re: Speicherauslastung
Zitat:
Ich gehe mal davon aus, dass der Speich zwar freigegeben wird, ihn der Delphi Speichermanager nur nicht an Windows zurückgibt, um ihn beim nächsten mal nicht erst wieder von Windows anfordern zu müssen. |
Re: Speicherauslastung
Und wie kann ich das nun verhindern?
Mit den 5MB... klar ist es akzeptabel, aber warum soll ich meinen Speicher zumüllen, wenn ich es nicht brauche, verstehste? Es stört mich halt (ist so'n Gefühl aus dem Bauch) |
Re: Speicherauslastung
Nun ja, Speicher von Windows anfordern dauert nun mal ziemlich lange, deswegen gibt der Speichermanager den Speicher nicht wieder zurück. Lösung: benutze einen anderen Speichermanager.
|
Re: Speicherauslastung
OK, danke
|
Re: Speicherauslastung
Code:
Damit kann man den Windows Speichermanager auffordern Seiten wieder freizugeben.
BOOL SetProcessWorkingSetSize(
HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize );
Delphi-Quellcode:
Obwohl ich kein Freund davon bin, denn damit tritt man die Arbeit von einigen Leuten mit Füßen.
SetProcessWorkingSetSize(GetCurrentProcess, 0, 0);
Zweitens holt sich schon Windows den Speicher, wenn es ihn braucht. |
Re: Speicherauslastung
Ich glaube Windows behandelt den Speicher als "zwar im Moment nicht von der App gebraucht, aber noch zu dieser gehörig. Wenn ich ihn brauch, kann ich ihn aber haben." Das ist mit Sicherheit nicht der technische Ausdruck. Für den muss ich nochmal nachgucken.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz