JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=798c11ef547bb1a4adaaa60bebdba6c6Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Surface neu erstellen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Daxtor
Gast








BeitragVerfasst am: 14.09.2002, 19:56    Titel: Surface neu erstellen Antworten mit Zitat

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

BeitragVerfasst am: 14.09.2002, 19:58    Titel: Antworten mit Zitat

Du kannst doch einfach zur Sicherheit folgendes aufrufen:
" Surface->Release() " und dann kannst du neu "createn" !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Daxtor
Gast








BeitragVerfasst am: 15.09.2002, 17:39    Titel: Antworten mit Zitat

Stimmt Danke, daran hab ich gar nicht gedach Embarassed

thx Daxtor
Nach oben
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 15.09.2002, 19:58    Titel: Antworten mit Zitat

"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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Daxtor
Mini JLI'ler



Anmeldedatum: 17.09.2002
Beiträge: 32
Wohnort: Torgau
Medaillen: Keine

BeitragVerfasst am: 19.09.2002, 19:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.09.2002, 20:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum