Hardware acceleration is the new mantra of 2010. When you are looking for speed, harnessing the power of the hardware is next logical step to do. Internet Explorer 9, Firefox 3.7 and Adobe Flash 10 has successfully implemented GPU accelerated graphics rendering. This time it’s Google’s browser Chrome.
Google just announced that Chrome will soon support GPU hardware acceleration, which will allows the browser to speed up the rendering of complex pages and graphics by offloading a lot of the processing to a computer’s graphics card.
At its core, this graphics work relies on a new process (yes, another one) called the GPU process. The GPU process accepts graphics commands from the renderer process and pushes them to OpenGL or Direct3D (via ANGLE). Normally, renderer processes wouldn’t be able to access these APIs, so the GPU process runs in a modified sandbox. Creating a specialized process like this allows Chromium’s sandbox to continue to contain as much as possbile: the renderer process is still unable to access the system’s graphics APIs, and the GPU process contains less logic.
With this basic piece of infrastructure, we’ve started accelerating some content in Chromium. A web page can naturally be divided into a number of more or less independent layers. Layers can contain text styled with CSS, images, videos, and WebGL or 2D canvases. Currently, most of the common layer contents, including text and images, are still rendered on the CPU and are simply handed off to the compositor for the final display. Other layers use the GPU to accelerate needed operations that touch a lot of pixels. Video layers, for example, can now do color conversion and scaling in a shader on the GPU. Finally, there are some layers that can be fully rendered on the GPU, such as those containing WebGL elements.
You can test drive the hardware acceleration feature by installing the latest build of Chromium, the open source project that powers Chrome.
Apart from that, the recent Chromium build also carries a new feature called Google Chrome Labs. This is an internal page that lets you enable some advanced features and can be accessed by typing about:labs in the address bar. Currently, there are only two "labs" available for testing – an option to use side tabs for Windows users and an option to see an expose-like tab overview for Mac users.
Detailed steps on how to enable Google Chrome Labs is available on ReadWriteWeb.