Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.06.2014, 11:14

[C#] Grafikkarteninformationen auslesen

Hey liebe Community,

ich hätte da mal eine Frage bezüglich der Grafikkarte und wie diese sich über C# komplett auslesen lässt.

Die hauptinformationen wären so für mich z.B:

- GPU Takt
- Grafikspeicher
- GPU Core Anzahl
- Grafikkartenname

Ich wollte damit ein wenig rumspielen und wäre über Tipps dankbar :)

LukasBanana

Alter Hase

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

2

29.06.2014, 11:20

Mit C# kenne ich mich nicht so gut aus, aber ich nehme mal an, dass es für C# (genau wie für Java) Bindings zu OpenGL gibt.
Damit könntest du zumindest schon mal den Grafikkartenname mit "glGetString(GL_VENDOR)" bzw. "glGetString(GL_RENDERER)" auslesen (zuvor muss aber ein GL Render Context erstellt worden sein).

GPU Takt und Core Anzahl ist schon sehr Treiber spezifisch und kann unter Windows vermutlich über eher unbekannte WinAPI Funktionen abgefragt werden.
Eventuell gibt's auch dazu Bindings zu C#.

Aber ob und wie das mit dem .NET Framework geht, kann ich dir leider nicht sagen.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

3

29.06.2014, 11:21

Zumindestens den Namen der Serie der GPU und den Speicher bekommst du doch wenn du mit DXGI die Grafikkarten enumerierst.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

4

29.06.2014, 13:16

Ist das "DXGI" im .NET Framework enthalten oder muss ich die .DLL explizit herunterladen?

und bekomme ich damit vielleich auch die GPU Leistung bzw die Clockspeed?

Denn über die WMI Klasse (System.Management) bekomme ich die CPU Clockspeed, CPUNamen und die CPU ID und
die GPU Speed bekomme ich nicht, obwohl die CPU Speed ich auslesen lässt?!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

29.06.2014, 13:30

Ich fürchte, von Name und Speichergröße abgesehen, wirst du diese Infos, wenn überhaupt, nur über herstellerspezifische APIs rausfinden können...

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

6

29.06.2014, 13:44

Wahrscheinlich hat dot da sehr recht. GPU-Z muss doch auch immer für neue GPUs aktualisiert werden, sonst kommt da gar nichts oder Quark raus.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

Werbeanzeige