Hallo Leute!
Folgendes Problem: In meinem Programme benutze ich Vertex Buffer Objects (VBO), um Vertexdaten und Texturkoordinaten zu rendern. Als Code-Basis benutze ich Teile aus dem Tutorial hier im Wiki - klappt auch alles, die Vertexdaten werden in den VRAM der Grafikkarte geschrieben.
Obiges Rendern schreibt meine Vertexdaten, die vorher nur im GraKa-RAM sind, aber anscheinend in den RAM - zumindest sagt das der Windows XP - Taskmanager. Auch wenn ich anstatt glInterleavedArrays() den auskommentierten Teil benutze.
Ich aktiviere beim Initialisieren:
glEnable(GL_VERTEX_ARRAY);
glEnable(GL_TEXTURE_COORD_ARRAY);
Auch wenn ich glEnableClientState() statt glEnable() benutze, gehen die Daten in den Arbeitsspeicher, genau das will ich ja aber nicht.
Wie weisst Du, das über den Taskmanager? Um in den Grafikspeicher zu schreiben, muss dieser virtuell in den Anwendungsaddressraum geblendet werden - dadurch wird der Speicher den Anwendung verwendet und zugreifen kann mehr, insofern ist dieses Verhalten ganz normal.
Ah, okay. Danke :) Nur komisch, dass der Speicher im Taskmanager erst angezeigt wird, wenn glInterleavedArrays und glDrawArrays ausgeführt werden. Müsste der Speicherverbrauch nicht eigentlich dann im Taskmanager sichtbar werden, wenn die Vertexdaten in den Speicher geschrieben werden?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.