Ich verwende Java mit JOGL, um OpenGL-erweiterte 2D-Grafiken zu erstellen. Die Grafikoperationen, die ich verwende, sind nichts Besonderes und sollten von fast jeder neueren Grafikkarte unterstützt werden. Zum Beispiel läuft mein Spiel auf einem Netbook großartig.
Ich hatte gehofft, dass das Spiel auf den meisten Computern laufen würde. Es läuft gut auf meinen eigenen Computern. Ich fand jedoch, dass einige Computer eine sehr langsame Leistung haben (anscheinend Software-Fallback, was ungefähr 2 Bilder pro Sekunde ergibt). Ich habe eine LWJGL-App auf einem solchen Computer ausgeführt. Es läuft überhaupt nicht (es meldet so etwas wie org.lwjgl.LWJGLException: Pixelformat nicht beschleunigt, Sie können verschiedene Forenthreads finden, die sich darüber beschweren, aber keine offensichtlichen Lösungen, außer dem Vorschlag, dass es sich um ein Treiberproblem handelt). Andere OpenGL-Software scheint ebenfalls nicht zu funktionieren. Ich fand auch heraus, dass meine Flash-Version des Spiels mit genau den gleichen grafischen Effekten auf demselben Computer im Vollbildmodus ziemlich gut funktioniert. Der betreffende Computer verfügt über eine aktuelle ATI-Karte, aber leider habe ich keinen Zugriff auf den Treibermanager.
Das Problem scheint ziemlich weit verbreitet zu sein. Ich finde es sehr bedauerlich, dass OpenGL nicht immer Zugriff auf Grafikfunktionen bietet, die auf den meisten Computern zu finden sind. Dies macht es weniger attraktiv für gelegentliche 2D-Spiele, die ich auf jedem Computer ausführen möchte.
Ist einer von Ihnen auf dieses Problem gestoßen und hat es geschafft, es zu beheben? AFAIK, sowohl NVidia als auch ATI bieten OpenGL als Teil ihrer Standardtreibersätze an, aber vielleicht gibt es einige Ausnahmen? Wird dieses Problem durch Treiber von Drittanbietern verursacht, die OpenGL nicht unterstützen, und kann das Problem durch die Installation besserer Treiber behoben werden? Wie viele andere Grafikkarten gibt es ohne OpenGL-Treiber?
EDIT : Abschließend kann ich feststellen, dass OpenGL auf Windows-Computern einfach nicht gut unterstützt wird. Microsoft scheint sein Bestes getan zu haben, um es von seiner Plattform fernzuhalten, indem beispielsweise OpenGL-Treiber in einigen Windows-Treiberpaketen absichtlich weggelassen wurden. Holen Sie sich die Herstellertreiber und Sie erhalten OpenGL; Holen Sie sich die Standardtreiber, die Windows für Sie herunterlädt, und das tun Sie nicht. Dies hat auch anderen unendlich viel Ärger bereitet. Zum Implementieren von WebGL verwenden Webbrowser beispielsweise Angle , einen OpenGL ES-Emulator für DirectX. Was wir also wirklich brauchen würden, ist so etwas wie Angle, nur für Full OpenGL.
Antworten:
Dies ist ein häufiges Problem, selbst bei neuen GPUs, wenn keine Treiber installiert sind. Die OpenGL-Version ist 1.0 1.1 und wird im Softwaremodus ausgeführt.
Installieren / aktualisieren Sie GPU-Treiber und fügen Sie Ihrer Anwendung eine Versionsabfrage hinzu. Wenn die zurückgegebene OpenGL-Version unter 1.1 liegt, fehlen definitiv Treiber.
quelle
Ich rate hier nur, aber verwenden Sie Shader? Welche Grafikkarte in dem Computer, auf dem Sie getestet haben, hat die Ausnahme ausgelöst? Viele ältere integrierte Intel-Karten unterstützen den Pixel-Shader nicht.
Wenn dies der Fall ist, können Sie nur einen Fallback mit fester Funktion bereitstellen.
quelle