[OpenGL] Video Memory Usage

  • keywords: C++, OpenGL, ATI-Radeon, WinXP

    Hab gerade ziemlich erfolglos recherchiert - kennt jemand eine Möglichkeit, wie man anzeigen kann, wieviel Speicher auf der Grafikkarte vorhanden ist und wieviel von meinem Programm gebraucht wird bzw. wieviel davon allgemein belegt ist?


    Falls das nicht einfach programmierbar ist - gibt es wenigstens Tools, mit denen man das auslesen kann?

  • also wieviel du belegst kannst du dir ja selbst ausrechnen, indem du bei jeder erstellten textur/vbo/fbo/... mitzaehlst wieviel speicher die brauchen. is natuerlich nur ein naeherungswert, aber besser als nichts.


  • Das Problem ist, ich verwende erstens Texturkomprimierung, und wollte vergleichen, wie viel Speicherplatz ich mir damit erspare. (Das hab ich gelöst, den verbrauchten Speicher einer komprimierten Textur kann man mit

    Code
    glGetTexLevelParameteriv(GL_TEXTURE_2/3D, mipmaplevel, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, &iSize)

    auslesen.)

    Zweitens wollte ich eigentlich für eine Animation so lange Texturen laden, bis der Speicher voll ist - und etwas vorausschauend berechnen und nicht einfach warten, bis mir glTexImage einen Fehler zurückliefert.

    Und natürlich interessiert es mich allgemein, wieviel Speicherplatz andere Spiele so verbrauchen - deshalb ein WXP-Tool, das das anzeigt...

  • Zitat von Filz

    verbrauchten Speicher einer komprimierten Textur kann man mit

    Code
    glGetTexLevelParameteriv(GL_TEXTURE_2/3D, mipmaplevel, GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, &iSize)

    auslesen

    Nein, offensichtlich doch nicht - gibt mir egal mit welcher Texturkomprimierung (keine, ARB, S3TC, ...) immer dieselbe Zahl zurück - und zwar mehr, als die Textur selbst unkomprimiert Platz verbrauchen würde...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!