Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 07:54

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Mär 13, 2009 11:34 
Offline
DGL Member

Registriert: Fr Feb 29, 2008 11:57
Beiträge: 16
Hallo !
Hat jemand eine Idee, wie ich ( via OpenGL oder sonst wie ) abfragen kann,
wieviel Grafikkartenspeicher belegt ist und wieviel noch frei ?

Gruß Andreas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 13, 2009 14:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also das geht mit OpenGL leider gar nicht. AMD hat zwar eine Extension in deren Treibern die meminfo heißt. Allerdings von der gibt es so überhaupt keine Spezifikation oder irgendwelche Informationen. Was ich persönlich sehr Schade finde.

Es gab mal vor einer Zeit lang ein Tool welches die Speicherauslastung mithilfe von Managed DirectX 9 angezeigt hatte. Aber ich weiß gerade dessen Namen nicht mehr und wirklich stabil war es auch nicht. Den Quellcode davon gab es aber auch nie. Also was dort gemacht wurde bleibt deren sahniges Geheimnis.

Wozu brauchst du das denn?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 13, 2009 15:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wie Lossy bereits sagte bietet OpenGL keine Möglichkeit den VRAM-Verbrauch zu messen, wenn man es also in seiner eigenen Anwendung ermitteln will muss man letztendlich rechnen, so tut das zumindest mein Texturenmanager. Natürlich ist das nur eine Berechnung die man so nicht direkt übertragen kann, zumal man z.B. für Displaylisten keine Berechnung aufstellen kann.

Alternativ kann man aber mit dem Rivatuner den aktuellen VRAM-Verbrauch messen, muss diese also im Hintergrund laufen und mitloggen lassen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: VRam Abfrage
BeitragVerfasst: Mo Mär 16, 2009 10:36 
Offline
DGL Member

Registriert: Fr Feb 29, 2008 11:57
Beiträge: 16
Danke für eure Mühe !

Schon echt blöd, dass man das nicht abfragen kann.
Zum einen hätte ich gerne eine Hib- und Stichfeste Fehlerprotokollierung,
wenn es Speicher-Probleme gibt, zum anderen würde ich gerne eine Meldung
ins Programm eingebaut, die den User warnt, bevor das Kind in den Brunnen
gefallen ist.

Tja, man kann wohl nicht alles haben.

Danke
Andreas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 16:00 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Naja, sobald der Grafikspeicher voll ist, wird auf den Arbeitsspeicher ausgelagert und wenn der voll ist, dann wird es in die Pagefile ausgelagert.
Ich behaupte, dass dein System schon steht, wenn er anfängt Grafikdaten auf die Pagefile zu legen ^^.
Informationen über die Auslastung des VRams ist ja eigentlich nur notwendig, wenn den Verbrauch auf eine Mindestschranke optimieren willst, damit es noch auf einer bestimmten Kartereihe noch läuft.
In diesem Stadium hast du ja den Code vor dir und kannst dann über Tools wie gDEBugger es lokal sehr gut verwalten.
Wenn du den User warnen willst, dann bau doch z.B. eine FPS-Anzeige mit ein.
Ich z.B. guck nur ob ich genug FPS in ein Spiel hab und schaue ob ich über bestimmte Regler noch was raus holen kann.
Wenn es Probleme beim Grafikspeicher gibt, dann sollte ja beim runter stellen der Texturauflösung irgendwann ein knick kommen, wo die FPS auf einmal stärker hoch springt.
Willst du trotzdem noch eine Möglichkeit, in etwa zu wissen, wieviel VRAM aktuell zugestopft ist, dann würde ich es, wie Sascha empfeholen hat, einfach selber in den Managern mitrechnen, was verbraucht wurde.
Das ist wie schon erwähnt nicht genau aber lässt erahnen, wie der Stand ist, wenn bei mehreren an einer bestimmten Stelle im Spiel aufeinmal das System schock gefrierrt ^^.
Allerdings wärst du mein Persönlicher Held, wenn du ein Weg findest, auf neueren AMD und NVidia Karten, den Verbrauch zu messen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 16:17 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
AMD hat zwar eine Extension in deren Treibern die meminfo heißt. Allerdings von der gibt es so überhaupt keine Spezifikation oder irgendwelche Informationen. Was ich persönlich sehr Schade finde.

Doch gibt's: GL_ATI_meminfo
Die Spezifikation ist vom 2. März 2009, also wirklich brandneu.

Der ATI-Treiber scheint das auch bereits zu unterstützen, Nvidia natürlich nicht.
http://forums.ngemu.com/dolphin-discuss ... vidia.html

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 17:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Coole sache, hab mal kurz eingeguckt und da steht, dass auch diese Extension nicht sehr genau ist, da dies garnicht notwendig ist.
Zitat:
It does not require that exact values be returned. The
information is intended to be a hint to the application about the
status at a particular moment in time. As such, the value returned does
not need to reveal the exact information, but instead it could return
a conservative value of 80% of actual availability.


Einzig die verfügbarkeit macht mit stutzig, oben steht, dass OGL1.1 benötigt wird, später steht, dass es von OpenGL1.5 VBO abhängig ist und mitten drin, dass es von den OpenGL2.0 Spezifikationen abgeleitet wird. Ich bin offiziell verwirrt xD. Bzw. es wird doch bestimmt eine NV alternative geben.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 18:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Einzig die verfügbarkeit macht mit stutzig, oben steht, dass OGL1.1 benötigt wird, später steht, dass es von OpenGL1.5 VBO abhängig ist und mitten drin, dass es von den OpenGL2.0 Spezifikationen abgeleitet wird. Ich bin offiziell verwirrt xD. Bzw. es wird doch bestimmt eine NV alternative geben.

1. Die Extension ist verfügbar wenn GLEW (oder sonst irgendein Extension-Tester) dir sagt das sie verfügbar ist.
2. Wenn du nicht wenigstens OpenGL 1.1 verwendest funktioniert diese Extension nicht.
3. Die Spezifikation ist gegen die OpenGL 2.0 Spezifikation geschrieben. In diesem Dokument beziehen sich also alle Angaben von Kapiteln, Absätzen usw. auf die 2.0 Spezifikation.
4. GL_VBO_FREE_MEMORY_ATI funktioniert nur, wenn du auch Vertexbuffer-Objekte zur Verfügung hast, irgendwie logisch.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 16, 2009 22:36 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das wäre doch gleich mal ein Kandidat fürs Wiki. Da CoolCat schon beschäftigt ist, sag ich mal: Freiwillige Vor! 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]