GPU accelerating 2D Canvas and enabling 3D content for older GPUs

Thursday, February 09, 2012

Today’s Beta release brings 2D Canvas improvements and a software rasterizer to Chrome.

For most Windows and Mac users, we’ve enabled GPU-accelerated rendering of 2D Canvas content, so that canvas-based games and animations run faster and feel smoother. You can go to chrome://gpu to see which features are being accelerated. This is a tricky area to optimize, due to the wide variety of hardware and operating system configurations found in the wild. We’ve made a series of small improvements to the way this acceleration works in the latest release, and we're seeking feedback on it from our Beta users. If you notice performance problems with 2D Canvas graphics content, particularly if you’re a web developer using 2D Canvas on your site, please file a bug.

At the same time, we recognize that many people with older GPUs and graphics drivers have not been able to experience the rich content provided by technologies such as WebGL. Chrome is now able to display 3D content via SwiftShader, a software rasterizer we licensed from TransGaming, Inc. Although SwiftShader won’t perform as well as a real GPU, it will be an improvement for many of our users on older operating systems such as Windows XP.

SwiftShader automatically kicks in for those users who cannot run content on the GPU. If you want to take a peek at what the performance is like with SwiftShader, you can use the --blacklist-accelerated-compositing and --blacklist-webgl flags, wait a few minutes for the automatic download to complete, and then load the relevant web page.

As always, we appreciate your willingness to try out our creaky Beta software and look forward to your feedback and bug reports.

17 comments:

Joshua said...

And when will linux be supported? Particularly with Intel GPUs?

Unknown said...

Does GPU accelerated Canvas work on Windows XP?

Sphinx said...

I share Joshua's concern. Having problems with some (not all) native client applications with my onboard intel mesa graphics running Ubuntu.

Richard said...

From the Chrome Blob (I think)...

"Posted by Tom Wiltzius, Associate Product Manager and Snazz Master"

"Snazz master"? Now that's a job title. :-)

Warren said...

What is up with the lousy, fuzzy new font in the release 18 beta? I can hardly read it.

Karl Taüfer said...

For Joshua's question, I understand SwiftShader will do the job on Linux Intel GPU too. Am I right?
I'm also one of those users waiting to be able to use all the amazing features of WebGL in my Linux PC.

RichB said...

Do any of these affect CSS 3D animations? On an XP machine, I've noticed the tab freezing sometimes when a 3D animation is applied - as well as the scrollbar going blue.

Andrea Doimo said...

Is Canary supposed to have SwiftShader?
I tried the --blacklist-webgl with this game http://www.omiod.com/games/FK2/ and it shows a black screen.

Nasendackel said...

The Mac Version (and also the dev version 19) has an ugly bug. certain jquery plugin are not working.

http://www.turnjs.com/ and http://builtbywill.com/code/booklet/

DIVs loses their background-image attribute while switching the pages. annoying.

Marcus Klaas said...

Why isn't Linux ever getting any GPU-love? :S

Paulo Falcao said...

This comment has been removed by the author.

Paulo Falcao said...

It works! :) Thank you!

But there's a problem with the current beta, I needed to enable "Disable 3D software rasterizer" and then switch back to disable at chrome://flags/ , strange ... I had this problem / behavior in two different pcs ...

BTW some benchmarks of 704 WebGL (http://www.backtothepixel.com/demos/js/webgl/704_webgl.html)

- GPU (Intel X3100) WebGL - 3.2 Mpixel - With - enable-WebGL - ignore-gpu-blacklist
- CPU (dual core T7300@2.00) WebGL SwiftShader - 2.8 Mpixel
- CPU (dual core T7300@2.00) The same shader in pure javascript - 0.12 Mpixel

Incredible my old core duo CPU is almost as fast as the GPU shader this, well done! :)

The only problem with SwiftShader is the time to compile the shader, too high... probably a necessary price to pay for this excellent performance

AshleyScirra said...

This sounds cool, but we make a 2D game engine based on WebGL because it's faster than canvas 2D, and it falls back to canvas 2D if WebGL is not available. Are there any cases where WebGL will be software-rendered whereas the canvas 2D is GPU accelerated? Because in that case we definitely want to skip the WebGL renderer for the canvas 2D...

Adrian Marius Popa said...

Ati fglrx gpu blacklisted in latest beta on Lubuntu/Ubuntu 11.10 with the fglrx driver

Although it works just fine if i use to ignore the blacklisting
Tested on two systems with the current drivers and quite new gpus

See bellow

Here are the details

Chrome version 18.0.1025.11 (Official Build 121089) beta
Operating system Linux 3.0.0-15-generic
Software rendering list version
ANGLE revision 950
2D graphics backend Skia
Performance Information
Graphics 0.0
Gaming 0.0
Overall 0.0
Driver Information
Initialization time 187
Vendor Id 0x1002
Device Id 0x68e4
Optimus false
Driver vendor ATI / AMD
Driver version 8.881
Driver date
Pixel shader version 4.10
Vertex shader version 4.10
GL version 4.1
GL_VENDOR ATI Technologies Inc.
GL_RENDERER AMD Radeon HD 6300M Series
GL_VERSION 4.1.11005 Compatibility Profile Context
GL_EXTENSIONS

Rdub said...

Warren - my fonts are all fuzzy too... It's very annoying.

Rdub said...

I've found a work around for the fuzzy fonts -

Download
http://code.google.com/p/gdipp/downloads/list

Then, from C:\Program Files\gdipp\Script run Registry_Disable_*.bat and Stop_Service_*.bat.

Vitus Capital said...

Am frequently getting:
1. Flash crashing
2. Various tabs crashing when just sitting there
3. New tabs take a longish time to appear.

1,2 not really new but seem more prominent now. 3 is new.

Mac, Lion, 2011 macbook air 13 4gb mem