Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

Re: glDeleteTextures gibt Speicher nicht frei

  Alt 23. Mai 2008, 10:51
Zitat:
Woran erkennst du denn, dass die Texturen nicht freigegeben werden? Dem Arbeitsspeicher kannst du das eigentlich nicht ansehen, da die Texturen im Grafikkarten-RAM gespeichert werden. Wenn der Grafikkarten-Speicher voll ist, werden die Texturen dann in den Arbeitsspeicher geschoben, aber sonst nicht.
Danke für deine Antwort

Ich erkenne es daran das nach etwa 20 Titeln die Anwendung 150MB speicher belegt
Beim start sind es 30MB und es steigt stetig wenn das Album sich ändert
und die Texturen neu eingeladen werden.

Zitat:
Dieser Code funktioniert nicht. glDeleteTextures erwartet zwei Parameter. Der erste Parameter sagt OGL, wieviele Texturen gelöscht werden sollen. Der zweite Parameter ist ein Pointer auf das erste Element eines glUint-arrays (wenn nur eine Textur gelöscht werden soll, dann muss es kein array sein).
Ja hast du recht .. war ein flüchtigkeits fehler
Habe ja oben die einzelnen Texturen auch mit
glDeleteTextures(1, @BackTexture); // Texture für Hintergrund 1 gelöscht.

Die schleife ansich macht das gleiche wie marabus vorschlag.
Nur seiner ist eleganter kann mir die schleife dann sparen.

EDIT:
Zitat:
Ach noch was: sind die anderen Variablen zufällig auch arrays? Wenn du den Pointer auf das erste Element eines arrays zurückgeben willst, würd ich das immer so machen:
Nein sind einzelne Texturen.

gruss Emil
  Mit Zitat antworten Zitat