We've spent a lot of time jabbering on and on and on about hardware acceleration in the next generation of Web browsers.
The problem, however, is that no stable browsers have it turned on by default. Unless you're running Firefox 4 beta or Internet Explorer 9 RC, you're probably not enjoying hardware acceleration. Heck, our latest poll shows that almost 50% of Download Squad readers run Chrome, anyway!
Turning hardware acceleration on in Chrome 9, 10 and 11 (stable, beta and canary) is easy, and it can significantly speed up surfing on low-powered devices, like laptops -- or if you're the kind of person who has 30+ tabs open on your desktop PC. We'll show you how to turn on pre-rendering, too, which provides another nice speed boost.
Gamers and other enthusiasts know the importance of keeping their video card's drivers current, but it's not something the vast majority of the computing public pays any attention to. If the computer is running OK, there's no need to update drivers, right?
As it turns out, there's a very good reason to update: your old driver might be causing your Web browser to crash excessively. That's what Google is reporting over at the Chromium blog. If you're surfing with Chrome and using an outdated driver, it could be wreaking havoc with Chrome's GPU acceleration and WebGL features.
Along with HTML5 support and tracking protection, hardware acceleration has become part of the 'geeky trinity' of features to trumpet in next-gen Web browsers. As developers tap deep into your computer's hardware to squeeze out additional performance gains, keeping your drivers fully updated -- especially for the graphics card which is handling all that accelerated rendering -- is going to be very, very important.
Okay, so we're not quite at the point where you're going to be playing the next Crysis sequel in your browser, but still -- the arrival of WebGL in Chrome's beta channel is kind of a big deal. Apart from being able to play around with cool demos like the ones offered up by Google in its official announcement, WebGL is another important step in bringing more desktop-like functionality to the Web.
In addition to cloud-y 3D support, hardware acceleration support is due to arrive at some point -- presumably before Chrome 9 gets pushed to the stable channel. Whether or not that will happen remains to be seen, but we'll know soon enough thanks to the six-week release cycle.
Check your Chrome wrench icon for the update notification, or hit About Google Chrome to force a check.
Anyone else up for some WebGL Quake action?
Earlier this year, in June, I ran the first of my side-by-side deathmatches to try and work out which, if any, of the browsers is truly the hardware accelerated king. As it turned out, Firefox 4 and Internet Explorer 9 were pretty equally balanced. Just two months later, in August, Chrome had stolen the top spot and sent Firefox 4, in a fit of tears, to the bottom of the heap.
The Chromium blog points out that you'll need either Chromium of Chrome Canary installed to get the full experience, and you'll also want to add --enable-accelerated-2d-canvas to your shortcut to turn on the necessary (for best performance, not for WebGL) hardware acceleration features.
3-way hardware-accelerated browser shoot-out: Chrome on top, IE9 just behind and Firefox brings up the rear (video)
After yesterday's announcement that Chrome 7 is now hardware accelerated, I instantly wanted to get the major browsers back into the ring for another screencasted deathmatch. Back when I did the 4-way speed test, only Firefox and Internet Explorer 9 featured hardware acceleration, and as a result Opera and Chrome were many orders of magnitude slower. If you watch the video, however, you'll see that's definitely no longer the case: Chrome is now the fastest of the three major browsers.
That speed comes at a price! As I discuss in the video, Chrome might be faster, but it uses significantly more resources than either IE9 or Firefox 4. Firefox is some 30% slower, but at the same time seems to use less CPU and GPU time. IE9 seems to utilize the same amount of CPU time as Chrome, but a little less of the GPU -- and it's marginally slower as a result.
What I don't know is whether this is by design or not. You'll notice that the GPU never went far above 50% -- why, with three browsers open, does it not get closer to 100%? The resources are there to be used -- why not use them?! Likewise, my CPU is still only half-used even when all three browsers are drawing 1000 frantic fishes at the same time. If you're curious, the other IE9 test drive samples all provided similar results. I wanted to try Google's 'HTML5 rocks' sample gallery, but they intentionally used elements of CSS and HTML5 that aren't yet supported in Internet Explorer 9 or Firefox 4.
In the name of science, here's some more information about my process: the screen capture does slow down each browser by a few frames per second, but relatively the figures are still accurate. I saw a small deviation in FPS when I was only running one browser at a time (probably because my CPU has multiple cores). There are a few unknown variables too, like whether the CPU core usage is defined by the app, or by the operating system (but with Chrome using more resources than IE9, you can only assume that Windows isn't unfairly biasing its own-brand browser).
If you'd like to recreate my test, you'll need to enable hardware acceleration in Firefox 4 and Chrome -- IE9 has it turned on by default:
- Firefox 4 -- grab a nightly build, navigate to about:config and add gfx.font_rendering.directwrite.enabled -- set it to 'true'
- Chrome 7 -- grab a nightly build and add the following flags to the shortcut before opening it: --enable-accelerated-compositing --enable-gpu-plugin --enable-gpu-rendering --enable-accelerated-2d-canvas
I'm not sure when the changes actually landed, but Google has announced that an early implementation of hardware acceleration is now available in developer versions of Chrome 7.
Early testing suggests that performance is still worse than Internet Explorer 9, but the gap has definitely been closed a bit. The '1000 fish test' now clocks in at about 10 frames per second, which is definitely an improvement from last time -- but still some way short of IE9's 45 FPS.
The Chromium blog post says that only some content is being accelerated, so the Fish Tank might not be a fair comparison of the browsers. I'll try to find a better test or benchmark and share my findings later today. You can enable hardware acceleration in Chrome with the --enable-accelerated-compositing flag -- and if you discover anything interesting, please share your findings in the comments!
Update: you might need a nightly build of Chromium to take advantage of this hardware acceleration. It would be nice if Google could explicitly state when the changes were made...
I think the video speaks for itself!
If you can't watch the video: IE9 is some orders of magnitude faster than HTML5 when it comes to hardware-accelerated canvas rendering.
I also tested FishIE with Opera and Firefox -- and believe it or not, Opera's a lot faster than both Chrome and Firefox!