Browser GPU Acceleration: Navigating the Standards Minefield
Once upon a time, in the distant past, there was VGA. VGA begat “Windows Accelerators” – graphics chips that were slightly enhanced beyond dumb frame buffers in order to accelerate Windows-specific functions to paint small “w” windows on the screen faster. Later came 3D, along with a number of competing standards. That all settled out to mostly Direct3D on Windows and OpenGL everywhere else.
Now the Internet is being accelerated by the GPU. But it’s back to the future, with competing standards and incomplete implementation the rule of the day.
That’s the conclusion you might get from watching Nvidia’s Chris Peterson’s presentation on GPU and the GPU-Accelerated Internet. Just two slides from the presentation illustrate the problems the web will be facing in the future. First, there’s the plethora of competing standards and browsers. This table of browsers versus standards only hints at the headaches web developers and users will face.
Peterson’s slide shows four browsers, five video rendering engines and five 2D graphics acceleration standards.
Peterson also sliced the data by looking at a how one browser might implement different standards across different operating systems.
That looks a little simpler, though it’s interesting to note that MacOS will still be handling 2D acceleration for Firefox through the CPU, not the GPU.
Another sticking point is 3D. If you’ve been listening to the hype about Internet Explorer 9, you’ve been hearing a constant refrain about how IE9 is GPU accelerated and its really fast. And it is, for 2D and video. Currently, IE9 lacks support for WebGL and doesn’t use Direct3D – so no hardware accelerated 3D for IE9 users.
So why are all the mainstream browsers moving rapidly towards implementing GPU acceleration?
In the current Google Chromium beta, for example, users see up to a 60x speedup in 2D canvas applications. In addition to performance, mobile users will see an increase in battery life as well as more uniform implementations across desktop, laptop and mobile platforms.
What this all means is that the web standards process will take years to shake out before we see uniform implementations across multiple browsers running on different operating systems on a variety of platforms. HTML5, for example, is in its very early stages, and it’s true that HTML5 test pages look different in different browsers. That’s not likely to change for a very long time.