GPU Accelerated HTML5

The strongest bid IE 9 is trying to make against its competitors is that of superior, GPU-driven performance. For quite some time, the bar has been steadily raised in the JavaScript engine domain by continual competing releases of Chrome, Firefox, and Opera. However, HTML5 <video> asset tags mean that (should the standard catch on) browsers themselves (rather than plug-ins) will be a huge contributing factor for playback performance. Microsoft showed a rather compelling demo with two GPU-accelerated videos simultaneously playing back in the browser on a (ostensibly ION-based) netbook with minimal to no stutter. Surprisingly, HTML5 <video> is not enabled in the consumer preview out now. Microsoft offers a relatively curt explanation why:

"The demo of HTML5 <video> at MIX10 was a preview of a future release of the Platform Preview."

It's likely that there still are GPU vendor-specific issues that need to be worked on before they're comfortable releasing a build with support. Until then, it's impossible to really know how IE 9 HTML5 video playback stacks up against Chrome and Firefox's implementations.

In addition, they showcased the subpixel-rendering capabilities that they can leverage that other browsers still lack.

But the big performance boon comes for both 2D and 3D HTML5 display acceleration. One of the demos given the most stage presence during the keynote consisted of a grid of spinning browser logos nicknamed "spinning images." It represents what Microsoft considers an ideal showcase for the dramatic performance increases possible with GPU accelerated graphics in-browser. I went ahead and decided to run my own tests across a number of browsers. Pay attention to image quality as well.

First up is IE 8, which struggled to render a mere 1-2 FPS. You can see the banding which was evident virtually the entire time. Image quality, however, is good.

Next up is Safari 4.0.4. Image quality of the scaled logos in the extreme back and far front is likewise very good, however Safari too struggles to render more than 2-3 FPS.

Next, Firefox 3.6. Performance here is dramatically better than Safari or IE 6, however look at the images in the extreme background and extreme foreground. There's obvious image-degrading nearest-neighbor downsampling going on, resulting in horribly blocky logos. Performance is more than acceptable, but comes at the price of quality.

Chrome's performance is surprisingly bad given its stellar reputation for performance, but unsurprising given the poor performance of its WebKit brethren, Safari. Again, image quality is very good, likely at the cost of performance.

Finally, IE 9 Platform Preview gives the highest performance yet, at around 58-60 FPS. At the same time however, image quality sits somewhere between Firefox 3.6 and Safari/Chrome/IE 8. It's obvious that there's some downsampling here that isn't 100% quality-friendly, however, there's significantly less blocking. Detail is still a bit strange inside the black Safari logo.

Obviously, we have to take these results with a bit of skepticism; the IE team has had the time to optimize their platform preview to the technology demo they saw think shows off their platform best. That said, there are clear and obvious performance benefits to be had from GPU acceleration in the browser.

It hasn't been made entirely clear what system requirements are necessary for GPU accelerated content, however, they're apprently enough to completely preclude Windows XP from running IE 9 platform preview. Integration is likely tied to Windows Display Driver Model (WDDM) given the strict Windows Vista (with a platform update) or Windows 7 requirement.

Final Words

Whatever the case, it's obvious that Microsoft has heard developers plea for improved standards compliance and dramatic performance improvements across what remains the world's largest browser platform. Microsoft has been acting a lot like Google or Apple lately, evidenced through an open feedback platform preview such as IE 9, and showing an awareness for the seriousness of both its competitors browser and mobile device offerings.

Standards Compliance
Comments Locked

60 Comments

View All Comments

  • phuzi0n - Wednesday, March 17, 2010 - link

    Firefox already has support for this in the 3.7 prerelease builds. All of the IE9 tests that showcase the benefits of these two API's worked amazingly on my D2D+DW enabled Firefox, while Chrome fell flat. If you're interested in enabling it then see this: http://forums.mozillazine.org/viewtopic.php?f=23&a...">http://forums.mozillazine.org/viewtopic.php?f=23&a...
  • nerdtalker - Wednesday, March 17, 2010 - link

    Ooh, I did not know about this. I will definitely investigate and run a more comprehensive set of tests, including some of Opera later today or tomorrow.

    I'm still at MIX, so it's hectic and I won't have a chance, but getting GPU accelerated firefox in the mix is most interesting. Awesome tip!

    Cheers,
    Brian Klug
  • jrocks84 - Wednesday, March 17, 2010 - link

    Just a note: you have to manually enable Direct 2D in the Firefox nightlies. There's instructions at http://forums.mozillazine.org/viewtopic.php?f=23&a...">http://forums.mozillazine.org/viewtopic...p;sid=87....
  • chaudx - Wednesday, March 17, 2010 - link

    Yep, would be nice to see results of GPU alphas of both IE9 and the FF 3.7a3 builds.
  • Spivonious - Wednesday, March 17, 2010 - link

    Your guess is correct. IE9 uses the Direct2D API, which was released with Windows 7 and backported to Vista. I don't know if it requires WDDM, but backporting it to a 10 year-old OS doesn't make much sense.
  • haplo602 - Wednesday, March 17, 2010 - link

    hmm I fired opera 10.50 on the logos test and I got 54-58fps ... however I cannot judge the quality.

    anyway it amazes me why MS used opera 10.10 for their charts ... given the date of the presentation, opera 10.50 was already released for cca 2 weeks. I guess it would show that they are only beating older IE versions and firefox.
  • BelardA - Wednesday, March 17, 2010 - link

    But Opera 10.50 is on the chart as well... many are still using 10.1x

    Opera 10.5 fixes pretty much every problem I ever had with 10.0~10.10.

    So, guess we'll see IE9 in about 1-2 years, by then Opera 11 and Google 10 will be out.

    So far, not impressed with IE9... nor IE8 of course. If IE9 is going to be an improvement, it needs a total interface change, IE7~IE8 are the worst design ever.
  • taltamir - Thursday, March 18, 2010 - link

    you mean google 100 :P
  • overzealot - Thursday, March 18, 2010 - link

    You'd think that software developers would be smart enough to NOT REMOVE trailing 0's, especially from version numbers.
  • erple2 - Thursday, March 18, 2010 - link

    Wait... That trailing 0 is important. We've released version 5.9, then 5.10 and then 5.11 of our software.

Log in

Don't have an account? Sign up now