|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Daxtor Gast
|
Verfasst am: 14.09.2002, 18:56 Titel: Surface neu erstellen |
|
|
Hi,
ich wollte mal fragen, ob das schlimm ist, wenn ich ein Surface z.B. mit der CreateSurfacefromBitmap Funktion mehrmals erstelle, d.h. ich habe eine Oberfläche: lpDDSurface, blite mit der CreateSurfacefromBitmap Funktion eine Grafik hinein (Kopiere sie dann in die sichtbare Surface), um sie danach mit einer anderen Grafik (auch andere Größe) erneut zu erstellen.
Gibt es da so was wie ein Memory Leak, dass die alte vieleicht nicht gelöscht wird?
thx Daxtor |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 14.09.2002, 18:58 Titel: |
|
|
Du kannst doch einfach zur Sicherheit folgendes aufrufen:
" Surface->Release() " und dann kannst du neu "createn" ! |
|
Nach oben |
|
|
Daxtor Gast
|
Verfasst am: 15.09.2002, 16:39 Titel: |
|
|
Stimmt Danke, daran hab ich gar nicht gedach
thx Daxtor |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 15.09.2002, 18:58 Titel: |
|
|
"Zur Sicherheit" würde ich so eine Funktion nicht aufrufen. Eine vernünftige Bitmap/Sprite-Routine sollte wissen, wenn ein Sprite bereits geladen ist und dann nur noch einen Zeiger darauf zurückliefern und nicht das ganze nochmal zu laden.
Memoryleaks gibt es dabei erst mal nicht, solange du jeden einzelnen Sprite noch als Variable kennst... Ansonsten schon
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Daxtor Mini JLI'ler
Anmeldedatum: 17.09.2002 Beiträge: 32 Wohnort: Torgau Medaillen: Keine
|
Verfasst am: 19.09.2002, 18:18 Titel: |
|
|
Hi,
mir ging es eigentlich darum, für ein Menü Buttons auf die Oberfläche zu Blitten, da ich nicht für jeden Button ein eigenes Surface machen wollte habe ich es aus speichergründen so gemacht, dass ein Surface sozusagen als Zwischenspeicher dient. Mancheiner will vieleicht verschiedene Buttons in seinem Menü haben, deswegen habe lade ich immer neu die Buttons in die Surface.
Danke vielmals Daxtor |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 19.09.2002, 19:53 Titel: |
|
|
Also, dann reicht es auch die Buttons einfach im Systemspeicher zu halten und die nicht immer wieder neu zu erstellen. Das Menü braucht ja keine hohe Performance. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|