geladenes bild im Programm freigeben/löschen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
fecub
User
Beiträge: 24
Registriert: Freitag 14. November 2008, 16:53
Kontaktdaten:

Grüßt euch,

unzwa, ich lade kontinuierlich Bilder, mit wxBitmap und zeige es mit wxStaticBitmap, in das Programm ein, was von gnuplot in bestimmten Intervallen erzeugt wird.

Code: Alles auswählen

	
pic = wx.Bitmap("plot.png", type = wx.BITMAP_TYPE_PNG)
stat_bmp = wx.StaticBitmap(self, -1, pic, pos=(30, 30)
Und die Auslastung wächst zunehmend!!!
Ab einer besimmten laufdauer, 1 std ist die mem kap, ca. wenn ich mich nicht irre, schon auf 10%, was sehr schlecht ist weil man das Programm sogar tagelang laufen lassen möchte :)

Jetzt meine frage, gibt es eine Möglichkeit/Methode etc. diesen Speicher, während des Bild einladens, freizugeben????

freue mich auf eure hilfe

gruß
fhoech
User
Beiträge: 143
Registriert: Montag 9. April 2007, 18:26

Der Code-Schnipsel ist eigentlich zu wenig, um daran erkennen zu können, wo das Problem liegt.
Also nehme ich jetzt einfach mal an, das der obige Ausschnitt in einer Schleife bzw. durch Events wiederholt aufgerufen wird. Wobei das Problem wäre, dass Du jedesmal ein neues wx.StaticBitmap erzeugst, statt das neue Bild in das bestehende zu laden (falls es das ist, was Du erreichen willst - anhand der statischen absoluten Koordinaten gehe ich jetzt mal davon aus. Das solltest Du Dir sowieso lieber nicht angewöhnen, positioniere die Elemente lieber mit Sizern). Aber wie gesagt, mehr als geraten ist das nicht.
Antworten