Entwickler-Ecke

Windows API - Arbeitsspeicherverbrauch reduzieren


Iaa_1 - Di 09.09.08 20:28
Titel: Arbeitsspeicherverbrauch reduzieren
wie verringere ich den gebrauchten arbeitsspeicher von meinem delphi programm?


Gausi - Di 09.09.08 20:31

Füge in Zeile 345 in Unit5.pas ein tmpBitmap.free ein. Dann wird mindestens 5.3 MB weniger Speicher verbraucht. :zwinker:


Hidden - Di 09.09.08 20:32
Titel: Re: Arbeitsspeicherverbrauch reduzieren
Hi,

user profile iconIaa_1 bezieht sich auf diesen [http://www.delphi-forum.de/viewtopic.php?t=86377] Thread.

Gausi hat jetzt entweder den Quelltext da oder das ist eine extrem lustige Umschreibung dafür, dass ein wenig Quelltext hilfreich wäre :)

mfG,


Boldar - Di 09.09.08 20:37

Naja, auch in dem genanntem Thread ist kein source, und den Smileys nach zu urteilen hat Gausi ihn auch nicht^^


Gausi - Di 09.09.08 20:37

Ahso. Na, dann ist die Lösung wahrscheinlich drei Zeilen darüber zu suchen. :lol:

Ne, im Ernst. Wenn es wirklich darum geht, dann liegt das bestimmt nicht am Speicher. Guck mal im Taskmanager nach - wieviel verbraucht das? 5 MB? Und wieviel das Spiel? 200 MB?

Ich glaube eher, dass das an einem Timer liegt, der zu schnell läuft, oder an dem OnTop-Gedöns. :nixweiss:


Yogu - Di 09.09.08 21:10

Ein eigenes Programm, mit dem beliebige TCP-Clients und Server geöffnet werden können, braucht ca. 10 Sekunden nach dem Start ca. 3,7 MB. Ich glaube nicht, dass ein Timer, ein Label und eine Form Speicherprobleme bereiten.

Wenn ich den verlinkten Thread [http://www.delphi-forum.de/viewtopic.php?t=86377] richtig verstanden habe, liegt es an der Transparenz. Das ist klar, da müssen ja bei jedem Rendervorgang des Spiels die transparenten Bereiche des Uhr-Fensters erkannt und angewendet werden. Klar, dass das dann ruckelt...

Die einzige Möglichkeit wäre wohl, direkt in das Spiel zu schreiben. Entweder mit einem Hook oder, wie ich bereits geschrieben habe [http://www.delphi-forum.de/viewtopic.php?p=522852#522852], durch Schreiben auf den Desktop von einem anderen Programm.


Iaa_1 - Mi 10.09.08 13:07

also ich habe mich vor mit hooking zu beschäftigen da es für alle meine zwecke wirklich am besten wäre... (auch für die uhr somit)

jedoch habe ich eine frage:
wie beginne ich ins thema hooking einzusteigen?
(was es ist weiß ich ja nur ich weiß nicht wie ich beginnen sollte)


Boldar - Mi 10.09.08 15:11

Am besten hiermit:
(ist eines der wenigen guten tutorials zum Thema hooking)
http://assarbad.net/stuff/tutorials/hooks/hook_tutorial.pdf