What’s in a web browser

a description of the Android Browser Graphics Architecture

Part I — Hardware Acceleration

We had to run well on this.
Google IO 2012 presentation about the Android WebView

The Old World

A typical Rendering loop

Rendering loop

The Android Way

Rendering loop (Android)

The Display List

The display list was stored in a PictureSet, containing the document and additional updates



Moving to composited layers
The webkit falling leaves demo: each leave is put on its own layer, and all are animated via CSS animations. Everything can be executed on the UI thread, with the Webkit thread not active.
Performance improvements with composited layers (No layers, Software layers, OpenGL layers)

The New World

Hardware Acceleration

Graphic pipeline change — introducing tiling


Scrolling with tiles


Zooming out with tiles

Issues with Tiling


Framework integration: GLFunctor

Scrolling, improved

Ship it!

I’m working on Android stuff at Google

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store