Laden...

OpenGL Grafikhardwareinformation auslesen

Erstellt von userid11997 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.223 Views
u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 11 Jahren
OpenGL Grafikhardwareinformation auslesen

Moin,

ich schaue gerade, ob es nicht einen API-Call gibt, der mir Information meiner Grafikhardware wie Temperatur, VRAM-Größe etc. ausgibt und zwar unabhängig von Hersteller und Modell. Das Ganze soll in OpenGL bzw. Win-API als Teil des Windows-Treibers für unsere Engine geschehen, DX ist also absolut garkeine Option.

5.742 Beiträge seit 2007
vor 11 Jahren

Ich würde mal in die Richtung WMI suchen.

C
1.214 Beiträge seit 2006
vor 11 Jahren

Habs grad ausprobiert, mit


wmic path win32_videocontroller get AdapterRam

kriegt man zumindest den verfügbaren Speicher (aber auch weiteren Infos drüber, in welcher Form der Speicher verfügbar ist). Die Temperatur kriegt man auf die Weise nicht raus, wenn ich das richtig sehe. Also wirst du wohl über nvapi für Nvidia und das entsprechende Gegenpart bei AMD gehen müssen. Sind ja zum Glück nur zwei wichtige Hersteller 😉

u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 11 Jahren

was ist mit Intel?

T
25 Beiträge seit 2011
vor 11 Jahren

Hallo,

mit den offiziellen OpenGL und OpenCL Befehlen kannst du sehr viele Informationen auslesen. Lediglich die Temperatur und ein paar weitere nicht wichtige Informationen lassen sich nicht auslesen.

Auszug aus der OpenCL-Manpage: http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/*clGetPlatformInfo *clGetDeviceInfo *clGetContextInfo

Gruß, Thomas

u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 11 Jahren

Klar, OpenCl haben wir natürlich implementiert, das Problem ist nur, wenn die Grafikhardware kein OpenCl unterstützt, weil einfach zu alt, gibts natürlich auch keine Informationen dazu. Auf meinem System wird beispielsweise die HD 2400 XT nicht unterstützt und ich erhalte lediglich einen CPU Context.

T
25 Beiträge seit 2011
vor 11 Jahren

Hallo,

was genau willst du auslesen und für was brauchst du diese Informationen?

Coder007 hat bereits erwähnt, dass der Weg über einen C++/CLI-Wrapper immer möglich ist. Die API zu Nvidia findest du unter http://developer.nvidia.com/nvapi

u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 11 Jahren

Kurz gesagt, alles was dem Anwender/Entwickler der Engine interessiert. Dazu zählt sicherlich die Menge des VRam zu entwicklungs/initialisierungs Zeiten für die größe der Modelle und die Detailtiefe von Texturen/Texturlevels, oder eben die Temperatur oder der Akkustatus (gehört jetzt nicht zur GH) im Spiel oder in der Anwendung, dass die Anwendung Crashes bereits vorhersagen und entsprechend reagieren kann.

Bisweilen beschränkt auf den Windows-Treiber, Linux und Mac kommt später.