JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[Sprite] Speicher freigeben

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 04.08.2004, 03:50    Titel: [Sprite] Speicher freigeben Antworten mit Zitat

hi,
ich habe eine Sprite Klasse mit Dekonstruktor e.t.c.
Bei meinem Game ist es nun folgendermaßen das er eine Map lädt
und das dazugehörige tileset (mehere Sprites)...
Im laufe des Spiels wechseln die Maps und die tilesets, das Problem
ist dabei das die alten tilesets b.z.w. Sprites im speicher bleibem, weil
nachem 3. Mapchange fängt das Game an zu laggen...

Code:

sprite *tile;

....

tile = new sprite;
tile->create(parameter...);

....

tile->draw();

....

delete tile;
tile = NULL;


so müste er doch speicher resavieren, das sprite anlegen und den speicher wieder freigeben sowie den zeiger oder?
so gehts aber nicht Sad

weiss einer eine Lösung oder kann mir sagen woran es sonst liegt?
es kann eigendlich nur daran liegen...

cya
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 04.08.2004, 10:02    Titel: Antworten mit Zitat

Du gibts die Texturen nicht wieder frei (wenn sie nicht im Destruktor deiner Sprite Klasse freigegeben werden).
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 04.08.2004, 19:46    Titel: Antworten mit Zitat

hi,
ich benutze SDL, dort kann man doch höchstens ein Surface mit SDL_FreeSurface() freigeben ...

das tu ich auch im Dekonstruktur, das Problem ist , es geht immer noch
net...

EDIT:
hier die Create Funktion:

Code:

temp = SDL_LoadBMP(file_name);
if (temp == NULL) return 0;

image = SDL_DisplayFormat(temp);
if (image == NULL) return 0;
SDL_FreeSurface(temp);

width = image->w;
height = image->h;

colorkey = SDL_MapRGB(screen->format, r, g, b);
SDL_SetColorKey(image, SDL_SRCCOLORKEY | SDL_RLEACCEL, colorkey);


ich glaube es liegt an SDL_DisplayFormat(), diese Funktion
resaviert andauernt Speicher und diesen mit SDL_FreeSurface im
Dekonstruktur freizugeben in dem ich das mit Image mache, funz
net
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 05.08.2004, 12:49    Titel: Antworten mit Zitat

Problem gelöst, danke für die viele Hilfe Smile
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 08.08.2004, 12:00    Titel: Antworten mit Zitat

Wie hast du das gelöst wenn ich fragen darf?

(ich benutz auch SDL aber nicht DisplayFormat)
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 -> Entwicklung 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