[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] Blacklisted driver notification



Firefox and Chrome implement driver blacklists for WebGL to prevent buggy drivers crashing the user's computer. ÂI've read this is almost exclusively due to the drivers being out of date, so the user updating their drivers ought to fix the problem. ÂMore recently, I've read about Google and Mozilla making moves to add software-rendered WebGL implementations so users who have blacklisted drivers can still see content.

For real-time games, software renderers really don't make for a good playing experience on the common mid to low end machine. ÂPoor performance is one of the most common criticisms we've heard with our HTML5 game engine, and it only comes from users who get software rendering. ÂSome combinations of game and machine result in unplayable performance. ÂOften if we get the user to update their driver then the GPU gets used and the game runs excellently. ÂIt's frustrating that the player may have a bad experience when they actually have the necessary hardware to run the game really well, but just lack a decent up-to-date driver.

While software rendering is one way to solve the problem, it seems to me that it's worth trying to solve it by getting users to update their drivers. ÂThis is more complicated for the user, but has a better end result. ÂBrowsers could prompt users to upgrade their driver when it's blacklisted, but it may be unnecessary depending on the content. ÂThere's no good way for the content itself to detect software rendering (and apparently the term is vague, since some GPUs use part software processing). ÂHowever, if the fact that the user's graphics driver is on the browser's blacklist is exposed to the content (a simple flag), the content itself can issue some kind of notification if appropriate. ÂThis does not involve exposing any hardware details, does not need to determine a definition for software rendering,Âdoes not require running performance tests to try to detect software rendering,Âand could result in a much better end-user experience since they end up using the GPU they paid for.

Is this something that might be suitable for the WebGL spec?

Ashley Gullen
Scirra.com