Ich weiss ja leider nicht, wo der Fehler liegt, aber er äußert sich folgendermaßen:
Sobald ich die Exe etwa 130 Sekunden oder so laufen lasse, wackelt der ansonsten so stabile FPS Wert. Eben noch konstant auf 60, kippt er auf einmal auf 54 dann wieder auf 60 usw.
Stoppe ich dann die Anwendung, dauert es wirklich einige Sekunden (vlt 10) bis die Anwendungen geschlossen wurde, und ich meinen Desktop wieder sehe. Wenn die Sekundendauer unter 60 liegt, dann beginnt es irgendwie zu laggen.
Gibs das bei euch auch?
Wenn ja, habt ihr ne Idee, worans liegt. Habe schon so einiges auskommtiert, aber es wird nich besser....
Es liegt scheinbar irgendwo an der SPeicherfreigabe... nach 60 Sekunden verschlingt die Anwendung bereits 360mb Arbeitsspeicher, das kann nich wahr sein...
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Im obigen Code kann ich keine Lecks finden, aber ein so gewaltiger Speicherfresser sollte doch zu finden sein.
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Eben das ist es ja...
Ich denke mal, wenn mein Speicherverbrauch sich jede Sekunde um 6 bis 8mb erhöht, dann liegt es irgendwo an Dyn arrays, aber ich habe alle gechecked... sie werden nur selten mal initialisiert, und ordnungsgemaess gelöscht
Beim neuen Turbo Delphi kann man sich die Speicherlecks ausgeben lassen. Einfach ReportMemoryLeaksOnShutdown := True; am Anfang ins Programm schreiben.
Also ich weiss nich wirklich wie ich damit umgehen soll, also hab ich einfach ma getestet. und so habe ich also mein Programm als hostprogramm des Replacement BorlndMM DLL ausgeführt. ich hatte eigentlich irgendne msg oder eine file erwartet, die mir was sagt, aber nix dergleichen.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Shaddow.
Hab mal die EXE ausgetestet, nach ca 10 min und allem verstellen etc immernoch unter 8MB speicherverbrauch.
Nach beenden des Progs Desktop sofort sichtbar.
(fps - anzeige vermisst, daher keine Aussage ;o) )
Gruß Uwe
System :
WinXP Pro
Sascha schrieb:
Zitat:
...FastMM4...
Shaddow fragt:
Zitat:
Geht das vllt auch mit D7 oder D2005?
Ich schreibe:
Ja das geht, ich hab es bei beiden Installationen am Laufen
_________________ Die 3 Totfeinde eines Programmierers ? a) Tageslicht b) frische Luft c) ..und das ständige Gebrüll der Vögel
Ich schreibe: Ja das geht, ich hab es bei beiden Installationen am Laufen
[/quote]
Das hats du falsch aufgefasst. Mein "geht das auch..." bezog sich auf Losseys Comment nicht auf Saschas. Habe es eben wie in der FastMM4 angewiesen, ausgeführt, aber es kam trotzdem keinerlei hinweis, was denn nun mit meinem speicher los is. bekomm ich da eine logdatei oder wie?
da steht ja nur drin, dass ich es als erstes use einbinden soll usw.
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Shaddow,
Zitat:
ich hatte eigentlich irgendne msg oder eine file erwartet, die mir was sagt, aber nix dergleichen.
wenn du mit FastMM arbeitest und Delphi dann musst Du die FastMM-DLL ins Such-Path hinkopieren. Also ich hab sie ins Win/system32-Dir reingelegt. Weiterhin muss die FastMM.pas über Bibliothekspfad deiner Anwendung auffindbar sein.
Dann trage in deiner xxx.dpr als erste Zeile FastMM4, ein.
Danach dann siehe Bild:
Alles andere kannst dann wie Sascha schrieb in der FastMM4.pas einstellen.
...und du erhälst deine Datei in TXT-Form im Arbeitsverzeichznis Deines PAS-Projekts ausgegeben.
Gruß Uwe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
_________________ Die 3 Totfeinde eines Programmierers ? a) Tageslicht b) frische Luft c) ..und das ständige Gebrüll der Vögel
Registriert: Fr Jul 14, 2006 13:08 Beiträge: 117 Wohnort: Berlin
hi Shaddow,
Fehlersuche:
Setze Dein Augenmerk auf Dynamische Array und deren Freigabe.
Solch ein riesiger Speicherbedarf kann nur dadurch erzeugt werden, oder durch erzeugen von immer neuen Objecten, welche nicht mehr freigegeben werden.
Achtung:
Lass dein Prog nicht solange laufen, denn deine Fehlerreportdatei dürfte etwa nach 30 sekunden eine größe von ca >500MB haben.
Gruß Uwe
[edit]
Bin dann jetzt leider mal kurz raus hier, hoffe ich konnte dir helfen.
[/edit]
_________________ Die 3 Totfeinde eines Programmierers ? a) Tageslicht b) frische Luft c) ..und das ständige Gebrüll der Vögel
Zuletzt geändert von uweq am Di Okt 03, 2006 17:04, insgesamt 1-mal geändert.
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.