Seite 1 von 2
Freier Imagespeicher wird über 512MB falsch berechnet
Verfasst: 21.03.2005 16:58
von computerkranker
Es wäre nett wenn jemand mit 1GB RAM mal testen könnte wie viele Image er mit dem Code erzeugen kann und ob er mit 512MB RAM weniger erzeugen kann als mit 1GB, weil bei mir das leider so ist. Bei 512 MB werden die Image auch erzeugt bis kein Speicher mehr frei ist, bei 1GB RAM ist noch mehr als 512MB frei. Bei 2GB werden nur noch 40 Image erzeugt.
Code: Alles auswählen
Mode=1
If Mode=1
Repeat
Pic=CreateImage(#PB_Any,500,500)
If IsImage(Pic)
Piccount+1
;CopyImage(Pic,#PB_Any) ;wenn 1GB RAM im Rechner ist, können mit und ohne copyimage() bei mir nur 139 bilder erzeugt werden
EndIf
Until IsImage(Pic)=0
Debug Piccount ; 298 mit 512MB, 139 mit 1GB RAM
Else
Debug CreateImage(#PB_Any,6000,6000) mit 512MB wird das Image erzeugt und mit 1GB RAM nicht
EndIf
Temp:
Goto Temp
Verfasst: 21.03.2005 17:15
von Laurin
Ich hab deinen Code mal getestet:
Ohne Copyimage(): 139
Mit Copyimage(): 70
Verfasst: 21.03.2005 17:18
von computerkranker
Ich hab deinen Code mal getestet
Hast du über 512MB? Weil ja erst da der Fehler bei mir entsteht.
Wenn ja hast mal den freien Speicher betrachtet? Sobald ich mehr als 512MB RAM im PC habe ist noch ne menge frei obwohl keine Image mehr erzeugt werden.
Verfasst: 21.03.2005 17:21
von remi_meier
1GB Ram:
Ohne CopyImage(): 251
Mit: 126
Verfasst: 21.03.2005 17:30
von Laurin
computerkranker hat geschrieben:Hast du über 512MB? Weil ja erst da der Fehler bei mir entsteht.
Wenn ja hast mal den freien Speicher betrachtet? Sobald ich mehr als 512MB RAM im PC habe ist noch ne menge frei obwohl keine Image mehr erzeugt werden.
Ich hab 1 GB RAM. Auf deine Worte hin hab ich mir mal meinen Speicherverbrauch angesehen:
Ohne Copymemory(): 139 Speicherverbrauch + 34 MB
Mit Copymemory(): 70 Speicherverbrauch + 34 MB
Dabei sind da noch knapp 650 MB frei gewesen!
Edit: Copymemory()? Wo bin ich denn hier? CopyImage() meine ich natürlich.
Verfasst: 21.03.2005 17:38
von computerkranker
Laurin:
Danke erstmal, es geht mir nicht so sehr um Copyimage(), sondern das halt bei einen 1GB noch so viel Speicher frei ist, aber bei 512MB solange Bilder erzeugt werden bis kein Speicher mehr frei ist. Bei 1GB werden sogar weniger Bilder erzeugt als bei 512MB.
Sicher hast keine Lust deinen Rechner um 512MB zu erleichtern um zu testen ob es sich bei dir gleich verhält.
Verfasst: 21.03.2005 18:23
von Deeem2031
Bei mir sinds (768 MB) 164 Images.
...wozu brauchst du überhaupt soviele Bilder?
Verfasst: 21.03.2005 18:42
von computerkranker
...wozu brauchst du überhaupt soviele Bilder?
Na eigentlich geht es nicht um die Anzahl. Wenn man den Speicher der erzeugten Bilder berechnet und dazu die Grösse mal ändert, bleibt der verbrauchte Speicher immer gleich, was ja auch so sein sollte . Mein Fenster ist geskint und hat viele Unterfenster. Wenn in meinen Programm mehrere MDI's geöffnet sind und das Programm maximiert ist werden nicht mehr alle Skin-Bilder erzeugt.
Was an sich auch ok wäre wenn es an der Begrenzung des Arbeitsspeichers liegen würde. Scheint aber nicht so weil auf einen 512MB RAM Rechner alles läuft und auf einen 1GB Rechner nicht, obwohl da noch weit über 820MB frei sind.
Das Programm verbraucht übrigens Insgesamt noch nicht einmal 15MB Arbeitspeicher.
Edit:
Deeem2031:
Bei mir sinds (768 MB) 164 Images.
Laurin:
Ich hab 1 GB RAM. Auf deine Worte hin hab ich mir mal meinen Speicherverbrauch angesehen:
Ohne Copymemory():mrgreen:: 139 Speicherverbrauch + 34 MB
Das meine ich, mehr RAM weniger Images.
Wenn noch 2-3 so net wären mit zu testen, dann wissen wir ob Bug oder nicht

[/quote]
Verfasst: 21.03.2005 19:20
von NicTheQuick
Bei mir sieht es so aus:
Wenn ich das Programm noch nicht gestartet habe sind 428 MB belegt.
Wenn ich das Programm gestartet habe sind 115 Bilder erstellt worden und 542 MB belegt.
Wenn ich das Programm mit CopyImage() gestartet habe sind 58 Bilder erstellt worden und 542 MB belegt.
(Angaben alle laut Taskmanager)
Achja: Ich habe 1024 MB SD-RAM unter Win2k.
Verfasst: 21.03.2005 19:59
von MVXA
Hab das programm 2x gestartet
einmal 149
einmal 151
RAM siehe profil...