2 Stimmen

iPhone: Wie viel OpenGL-Bereinigung muss ich durchführen, wenn ein Kontext wegfällt?

Ich habe mehrere Ansichten in einer iPhone-Applikation, die zufällig unabhängige OpenGL-Kontexte verwenden. Sie sind nicht unbedingt langlebig, so dass sie gehen weg, bevor der Prozess tut. Und sie haben ein paar Texturen in jedem.

Hace -release der EAGLContext weil der ganze GL-Zustand für mich aufgeräumt werden muss? Oder verliere ich Texturen usw., weil ich keine Stelle finde, die ich anrufen kann? glDeleteTextures von?

Danke.

1voto

Frogblast Punkte 1641

Alle Ressourcen, die mit einer Freigabegruppe verbunden sind, werden zerstört, wenn der letzte Verweis auf diese Freigabegruppe freigegeben wird (in der Regel durch Zerstörung aller gemeinsamen Kontexte).

Seien Sie vorsichtig: Wenn Sie einen Kontext für einen Thread aktuell machen, gilt dies als Referenz. Ein Kontext wird erst dann gelöscht, wenn er von allen Threads, an die er gebunden war, getrennt wurde.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X