[OpenGL] Treiber schaltet anscheinend auf Software-Rendern
Verfasst: 21.05.2015, 16:15
Moin,
ich porte Splatter auf OSX. Der Laptop, den ich mir von einem Freund geborgt habe, hat eine NVidia Geforce 330M eingebaut, zusätzlich zu einer namenlosen integrierten Intel-GPU. Splatter läuft darauf erstaunlich gut, aber nur im Hauptmenü. Sobald ich das Spiel starte, bricht die Framerate auf 2 bis 3 Bilder pro Sekunde ein. Und das ist seltsam, denn das Plasmagewabber im Menühintergrund ist auch ein anspruchsvoller Shader mit ungf. 20 Textursamples pro Bildschirmpixel. Wenn die GPU mit Shaderlänge oder irgendwelchen Operationen ihre Probleme hätte, müsste das auch schon im Hauptmenü sichtbar sein.
Daher vermute ich, dass ich in einem meiner Shader im Spiel irgendwas mache, was den Treiber dazu zwingt, in Software weiter zu rechnen. Ich habe irgendwo gelesen, dass die OpenGL-Treiber das so machen.
a) Stimmt das? Hat OpenGL wirklich einen vollwertigen Software Rasterizer als Fallback definiert?
b) Wenn ja, wie bekomme ich heraus, dass es passiert ist?
c) Wie bekomme ich heraus, warum der Treiber sich genötigt fühlt, auf Software umzuschalten?
Danke.
Bye, Thomas
ich porte Splatter auf OSX. Der Laptop, den ich mir von einem Freund geborgt habe, hat eine NVidia Geforce 330M eingebaut, zusätzlich zu einer namenlosen integrierten Intel-GPU. Splatter läuft darauf erstaunlich gut, aber nur im Hauptmenü. Sobald ich das Spiel starte, bricht die Framerate auf 2 bis 3 Bilder pro Sekunde ein. Und das ist seltsam, denn das Plasmagewabber im Menühintergrund ist auch ein anspruchsvoller Shader mit ungf. 20 Textursamples pro Bildschirmpixel. Wenn die GPU mit Shaderlänge oder irgendwelchen Operationen ihre Probleme hätte, müsste das auch schon im Hauptmenü sichtbar sein.
Daher vermute ich, dass ich in einem meiner Shader im Spiel irgendwas mache, was den Treiber dazu zwingt, in Software weiter zu rechnen. Ich habe irgendwo gelesen, dass die OpenGL-Treiber das so machen.
a) Stimmt das? Hat OpenGL wirklich einen vollwertigen Software Rasterizer als Fallback definiert?
b) Wenn ja, wie bekomme ich heraus, dass es passiert ist?
c) Wie bekomme ich heraus, warum der Treiber sich genötigt fühlt, auf Software umzuschalten?
Danke.
Bye, Thomas