Chromium Graphics System Overhaul

There's been a lot of work going on to overhaul Chromium's graphics system[…]At its core, this graphics work relies on a process called "GPU process," that accepts graphics commands from the renderer process and pushes them to OpenGL or Direct3D (via ANGLE).[…]"With this basic piece of infrastructure, we've started accelerating some content in Chromium. A […]

There's been a lot of work going on to overhaul Chromium's graphics system[…]At its core, this graphics work relies on a process called "GPU process," that accepts graphics commands from the renderer process and pushes them to OpenGL or Direct3D (via ANGLE).[…]"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 common layer contents, including text and images, are still rendered on CPU and are simply handed off to compositor for final display. Other layers uses GPU to accelerate needed operations that touch a lot of pixels. Video layers, for e.g., can now do color conversion and scaling in a shader on GPU. Finally, there're some layers that can be fully rendered on GPU, such as those containing WebGL elements.

After these layers are rendered, there's still a crucial last step to blend them all onto a single page as quickly as possible. Performing this last step on CPU would have erased most of the performance gains achieved by accelerating individual layers, so Chromium now composites layers on the GPU when run with the --enable-accelerated-compositing flag," explains Google.

More Info: Design Doc

[Source]