With various browser makers touting their half-baked attempts to add some form of limited hardware acceleration to their products, Microsoft today fired back with a detailed explanation of why its upcoming Internet Explorer 9 will be the only browser to support full hardware acceleration.
We’re excited that other browsers have started to use hardware to accelerate graphics performance. With different implementations starting to become available, now’s a good time to blog about the difference between full and partial hardware acceleration.
In the first IE9 Platform Preview, hardware acceleration applied to everything on every Web page—text, images, backgrounds, borders, SVG content, HTML5 video and audio—using the Windows DirectX graphics APIs. With Platform Preview 3 in July, IE9 introduced a hardware-accelerated HTML5 canvas.
Browsers can use hardware to accelerate none, some, or all of the steps in rendering an HTML pages.
Full vs. Partial Acceleration
With IE9, developers have a fully-hardware accelerated display pipeline that runs from their markup to the screen. Based on their blog posts, the hardware-accelerated implementations of other browsers generally accelerate one phase or the other, but not yet both. Delivering full hardware acceleration, on by default, is an architectural undertaking. When there is a desire to run across multiple platforms, developers introduce abstraction layers and inevitably make tradeoffs which ultimately impact performance and reduce the ability of a browser to achieve ‘native’ performance. Getting the full value of the GPU is extremely challenging and writing to intermediate layers and libraries instead of an operating system’s native support makes it even harder. Windows’ DirectX long legacy of powering of the most intensive 3D games has made DirectX the highest performance GPU-based rendering system available.
When you run other browsers that support hardware acceleration, you’ll notice that the performance on some of the examples from the IE Test Drive site is comparable to IE9 yet performance on other examples isn’t. The differences reflect the gap between full and partial hardware acceleration. As IE supports new, emerging Web standards, those implementations will also be fully hardware accelerated.
IE9 is the first and only browser to deliver full hardware acceleration of all HTML5 content.