2017-05-03 5 views
0

Ich habe eine Anwendung, die nicht mit einigen Intel HD Grafiktreibern startet, da der Absturz (in ig4icd32.dll) kommen kann, bevor unsere 3D-Engine initialisiert wird, die sicherere Möglichkeit, ein Popup anzuzeigen, um den Benutzer zu bitten, seinen zu aktualisieren Treiber ist es, bevor das OpenGL erstellt wird.Wie erkennt man OpenGL-Treiber ohne Kontext?

Also meine Frage ist, wie kann ich die Treiberinformationen (Hersteller und Versionsnummer) abrufen, bevor das Fenster erstellt wird?

PS: Es betrifft nur wenige Benutzer auf tausend, die eine sehr alte Version des Treibers verwenden, die einen Fehler haben, mit neueren Treiber gibt es kein Problem. Das Popup soll den Benutzer warnen, um sicherzustellen, dass er die Treiber aktualisiert.

Update: Ich nahm einen Blick und Geräte-Manager DxDiag, die Treiberversion sie für meine Nvidia-Karte geben stimmt nicht mit der übereinstimmt, die

Rückkehr von Nvidia mit OpenGL ist
+2

Wenn Ihre Anwendung mit einer Intel OpenGL-Implementierung abstürzt, ist das ein Fehler in ** Ihrem ** Programm. Schlagen Sie nicht einen Klumpen darauf, um einen Fehler anzuzeigen. ** _ Beheben Sie den Fehler in Ihrem Programm! _ ** – datenwolf

+0

Sorry, aber es stürzt in ig4icd32.dll ab und die Aktualisierung des Treibers behebt das Problem. Wir haben dieses Problem mit bestimmten Chipsätzen und Treiberversionen festgestellt. Wenn wir Fehler in unserem Programm haben können, kann es auch Fehler in Treibern haben. –

+1

@XavierBigand andererseits könnte es auch der neuere Treiber sein, der schlauer ist als der alte. Sie müssen also den Fehler in Ihrem Programm beheben. – Vallentin

Antwort

0

ich die Lösung here gefunden, hatte ich mit "Win32_VideoController" anstelle von "Win32_OperatingSystem" in der Abfrage zu verwenden.

Und here ist die Liste der Felder, die wir abfragen können.

Seien Sie vorsichtig, die Versionsnummer ist diejenige, die wir im Gerätemanager finden können und die nicht notwendigerweise mit der von Nvidia oder AMD für den Benutzer übereinstimmt.

PS: Es kann einen einfacheren Weg zum Abrufen der gleichen Daten mit anderen APIs haben.

Verwandte Themen