Seite 1 von 1
Kurze Verständnisfrage zu CopyImage (Image1, Image2)
Verfasst: 04.03.2008 23:53
von Kurzer
Hallöle...
Kurze Verständnisfrage zu CopyImage (#Image1, #Image2):
Wenn #Image2 bereits besteht, dann wird durch CopyImage doch nur der Inhalt überschrieben und *keine* neue "Imageinstanz" erzeugt, oder?
Die Hilfe ist da etwas undeutlich: "Erstellt ein neues Bild '#Image2', welches identisch zur Quelle '#Image1' ist."
Ich will nicht Speicher für 3 Bilder verballern, nur weil ich's nicht verstanden habe.

Verfasst: 05.03.2008 00:13
von #NULL
ich denke #img2 wird 'befreit' und durch ein neues ersetzt, mit den dimensionen von #img1.
eben wie den create()-funktionen
Verfasst: 05.03.2008 00:47
von PMV
Was spricht gegen ein vorherieges FreeImage(Image2)?

... ansonnsten würd es mich schon wundern, wenn das verhalten anders
wäre als #NULL schon geschrieben hat. Eventuell mal Rumprobieren mit
großen Images oder mal Fred fragen. Der is bestimmt immer noch öfters
im IRC-Channel.
MFG PMV
Verfasst: 05.03.2008 02:08
von #NULL
habs mal getestet:
Code: Alles auswählen
CreateImage(0,800,800)
For i=0 To 100000
CopyImage(i,i+1)
FreeImage(i)
Next
laut taskmanager ist das clean.
Verfasst: 05.03.2008 02:15
von Kaeru Gaman
aber da benutzt du doch FreeImage...
wenn, dann müßtest du das schon so machen:
Code: Alles auswählen
CreateImage(0,800,800)
For i=0 To 100000
CopyImage(0,1)
Next
immer wieder aufs selbe drüberkopieren.
habs mal laufen lassen.
ist wohl sicher, der speicherverbrauch wächst nicht kontinuierlich an,
aber die garbage-collection scheint ein wenig hinterher zu hinken,
der speicherverbrauch schwank zwischen 1.5 und 4 MB.
Verfasst: 05.03.2008 02:22
von #NULL
stimmt, freeimage brauchen wir nicht testen, sollte ja gehen

Verfasst: 05.03.2008 22:27
von Kurzer
Hey, danke für Eure Mühe.
Auf den Test mit dem Messen des Speicherverbrauchs hätte ich auch kommen können

(ich sollte wohl doch keinen Klaren mehr schlürfen am späten Abend

)
Gegen ein vorheriges FreeImage() spricht eigentlich nichts, ich war mir nur nicht sicher wegen der komischen Formulierung im Help.