Author Topic: The Secret Of Chrome 7: Hardware Acceleration?  (Read 942 times)

Offline javajolt

  • Administrator
  • Hero Member
  • *****
  • Posts: 36186
  • Gender: Male
  • I Do Windows
    • windows10newsinfo.com
The Secret Of Chrome 7: Hardware Acceleration?
« on: August 23, 2010, 05:12:38 AM »

Google quietly released the first trunk builds of Chrome 7 under the Chromium label last week. There is no information what exactly justified the version upgrade other than a subtle improvement in graphics performance. Speculation about upcoming hardware acceleration around the web was the result, and we got more curious when a ConceivablyTech reader told us that hidden switches would unlock a much faster Chrome – the claim was a 30x speed improvement. Fact or fiction?


Rumor has it that Google is close to be releasing a dramatically faster version of Chrome that catches up with IE9 and Firefox 4 in hardware acceleration. While Chrome is (sorry, Opera fans) the currently fastest browser in terms of boot times and JavaScript performance, it is much slower than IE9 PP and Firefox 4 Beta in complex web content that can be accelerated using the multicore CPUs and GPUs. GPU acceleration is new in IE9 and Firefox 4 and has revealed itself to be a much more significant advance than one may think, given the fact that multithreading content with browsers was not a topic we have heard of just a year ago.

State of browser GPU acceleration

There is quite a bit of confusion and deception about GPU acceleration out there. IE9 is believed to be the first browser to offer this feature and it was Microsoft that pitched this story aggressively. However, Firefox has GPU acceleration capability as well since version 3.7a5. Mozilla just did not advertise it that much as it was incomplete and rather buggy. Both IE9 and Firefox are in beta and both browsers support GPU acceleration. IE9 offers this feature by default, Firefox requires users to manually activate it.

Mozilla recently said that it may activate hardware acceleration support for all users by default in the next Firefox 4 Beta, which is due tomorrow, but it retracted the activation as it did not feel comfortable to make it generally available just yet. If you want to use it, you can and it works well enough to rival and outrun IE9 at any GPU acceleration test Microsoft has published and we are aware of.

Chrome, Safari and Opera do not integrate GPU acceleration.

Chrome 7: Waiting for big news

Google may be shifting versions numbers much faster these days and Google may have said that changes from version to version may be evolutionary, but, at least for now, we do see big improvements between different versions. Chrome 5 brought massive JavaScript performance improvements. Chrome 6, currently in Beta, got faster as well but features a thorough UI refresh that, conceivably, turns Chrome into a very different browser experience. Buttons have been removed, menus have been combined and modified, and the menu bar has lost its blue background color in favor of a neutral grey.

The first nightly build of Chrome 7 was a seamless transition from the directly preceding Chrome 6 nightly build. The interface remained the same, the JavaScript performance was about the same and the version numbering system did not show any disruptive changes. We noted in our first look review that Chrome 7 (Chromium 7) feels more nimble and faster in Microsoft’s hardware acceleration tests. CT reader Julian Troy noted that Chrome now supports hardware acceleration – you just need to activate it. According to Troy, the feature can be unlocked by using the right Chrome switches when launching Chrome.

In fact, there are more than 100 options or “switches” that can modify Chrome at launch. Some of them refer to GPU acceleration. You can combine them and launch them together simply by right-clicking on the Chrome shortcut on your Windows desktop and change the target to a sequence like this:

C:\Users\Wolfgang\AppData\Local\Google\Chrome\Application\chrome.exe -enable-accelerated-compositing -enable-gpu-rendering -enable-video-layering -enable-webgl -enable-accelerated-2d-canvas -enable-fastback -enable-aero-peek-tabs

You can also launch the browser in this way from the “run” menu (Windows key + R) in Windows. The browser launches as usual, but is it really faster? I had no idea, but was curious. I cleaned up my Chrome installations, started from scratch and took all current Chrome versions through Microsoft’s Psychedelic Wheel, Sunspider and Google V8 benchmarks. When I say “all versions”, it does mean that you have the choice between 5 different Chrome versions at this time: Stable, Beta, Developer, Canary and Nightly Build. Stable is the browser you should use for everyday browsing, beta is the browser that gives you an idea what is coming to Chrome in the near future, the developer versions is a bit further out and the Canary build is a very rough, untested developer version. If you are brave, you can try the nightly builds, which occasionally come with hiccups, do not require a separate installation and are typically advanced versions, even if they are not always feature complete.

The Benchmark: Surprised?

The tested versions in my benchmark run were:

Stable:

Google Chrome 5.0.375.127
Google Chrome 5.0.375.127x (launched with GPU acceleration extensions)

Beta:

Google Chrome 6.0.472.41 Beta
Google Chrome 6.0.472.41x Beta (with extensions)

Developer:

Google Chrome 6.0.495.0 Dev
Google Chrome 6.0.495.0x Dev (with extensions)

Canary:

Google Chrome 7.0.500.1 Canary
Google Chrome 7.0.500.1x Canary (with extensions)

Nightly Build:

Google Chromium 7.0.503.0 (57020) Nightly
Google Chromium 7.0.503.0x (57020) Nightly (with extensions)

To complete the comparison, I also included:

Firefox 4 Beta 5-pre (with activated hw acceleration)
Internet Explorer 9 PP4

Safari and Opera were not part of this comparison as they do not support GPU acceleration and their results are irrelevant in this comparison.

Without further delay, here are the results.


I was not able to achieve any performance improvements by using the GPU acceleration switches (or any other Microsoft demonstrations that are not listed here. However, the version change shows that, at least in this test, Chrome 7 Nightly ist about three times as fast as the current stable and beta versions of Chrome. All of these tests were run at a resolution of 1680×933 pixels. The Canary build refused to run the test with activated extensions and simply crashed, while I was told that the extensions show effect on this specific build. I was not able to find proof for that.

The bad news for Chrome is that, of course, even if Chrome 7 is 3x faster than Chrome 5, it is not even at 1% of the performance level of IE9 or Firefox 4 in this particular test. There are other tests, such as the Potato Gun Test, at which Chrome reaches about 10% of the performance of IE9 and Firefox 4 Beta.


If Chrome 7 will bring GPU acceleration, it is pretty safe to say that it is not there yet or it simply does not work very well. It should be mentioned that this Psychedelic Wheel test heavily depends on the screen size (as most other IE9 performance tests do as well.) IE9 shows a maximum performance at full-screen as well as smaller windows, while Chrome gains dramatically as you decrease the window size: At 900×600, the performance was up from 12 to 190 revolutions per minute, while IE9 was stuck at 1784. Firefox came in at 1774.

So, what about JavaScript performance? If you ever wondered what the difference between the difference Chrome versions in Sunspider and V8 are, here are some interesting numbers. Keep in mind that there is a reasonable margin of error of about 3%.






Both tests show that Google is making some improvements from version to version and the extensions had no impact on the JavaScript performance. Chrome 6 and Chrome 7 are substantially faster than the current version 5. And yes, I do hear those who say that there is not much difference between 350 ms and 300 ms in Sunspider. Overall that may be true, but Chrome 7 feels, subjectively, snappier than Chrome 5. It loads faster and renders web pages notably faster than the current stable version of the browser.

So far, we have little idea what Google is planning for Google 7, even if GPU acceleration will remain a hot topic, no question about it. However, it is apparent that Google is adding functionality as the browser package is growing in size. The unzipped nightly build now weighs in at 60,264 KB, while the last Chrome 6 Nightly Build we are aware of (dated August 16) was at 57,135 KB. In July, the package was at 55,509 KB and in May, just after the addition of Flash in Chrome 5, at 53,999 KB. Chrome 7 shows a jump in package size and we are curious to find out what it is.

Google Chrome Speed Tests

Google Chrome Speed Tests

These speed tests were filmed at actual web page rendering times. If you're interested in the technical details, read on!

Equipment used:

- Computer: MacBook Pro laptop with Windows installed

- Monitor - 24" Asus: We had to replace the standard fluorescent backlight with very large tungsten fixtures to funnel in more light to capture the screen. In addition, we flipped the monitor 180 degrees to eliminate a shadow from the driver board and set the system preferences on the computer to rotate 180 degrees. No special software was used in this process.

- Camera: Phantom v640 High Speed Camera at 1920 x 1080, films up to 2700 fps

"Why does allrecipes.com in the potato gun sequence appear at once, and not the text first and images second? And why does it appear to render from bottom of the screen to the top?"

Chrome sends the rendered page to the video card buffer all at once, which is why allrecipes.com appears at once, and not with the text first and images second. Chrome actually paints the page from top to bottom, but to eliminate a shadow from the driver board, we had to flip the monitor upside down and set the system preferences in Windows to rotate everything 180 degrees, resulting in the page appearing to render from bottom to top.

"Why does the top one third of the page appear first on the weather.com page load?"

Sometimes only half the buffer gets filled before the video card sends its buffer over to the LCD panel. This is because Chrome on Windows uses GDI to draw, which does not do v-sync.

"The screen wipes are so smooth - how was that achieved?"

The screen wipes up in a gradated wipe because LCD pixels take around 10ms to flip and gradually change color.

More filming details below:

Chrome Browser vs. Potato:

We used a version of the web page allrecipes.com that is accessible when logged in. About four hours into the Potato Gun shoot we decided to use a locally loaded version of the web page to enable more precise synchronization with the potato gun. We finally got the shot we were hoping for after 51 takes.

Chrome Browser vs. Sound:

We loaded an artist page from Pandora.com, a streaming internet radio service directly off the web on a 15Mbps internet connection.

Chrome Browser vs. Lightning:

We used a locally loaded version of weather.com that was legally approved for use in this video (and all the standard website permissions procedures that goes into making videos!)

While we had a super fast 15Mbps internet connection in the studio, any live internet connection introduces quite a bit of variability. To run speed tests on page rendering times, saving locally and loading from the local disk can help reduce this variability.

For behind-the-scenes footage of how this video was made:

Making the Google Chrome Speed Tests