Zum Hauptinhalt Zur Navigation Zur Suche

Google-Browser: Neues Grafiksystem beschleunigt Chrome

Google arbeitet seit geraumer Zeit an einem neuen Grafiksystem für seinen Browser Chrome beziehungsweise dessen Open-Source-Version Chromium. Unter Beibehaltung von Chromiums Sandbox-Architektur sollen möglichst große Teile des Renderings in die GPU ausgelagert werden.
/ Jens Ihlenfeld
53 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Ähnlich wie Mozilla mit Layers und Microsoft mit dem Internet Explorer 9 soll auch Googles Browser mittels Hardwarebeschleunigung der GPU Webseiten künftig schneller rendern. Dabei geht es nicht nur um beschleunigte 3D-Grafik via WebGL oder Videobeschleunigung, denn Google will möglichst große Teile des Rendering-Prozesses in die GPU verlagern. Mittlerweile sind erste Teile das dafür geschriebenen Codes in den aktuellen Entwicklerzweig von Chromium integriert.

Im Kern führt Google mit dem neuen Grafiksystem von Chrome einen neuen Prozess ein: den GPU-Prozess. Dieser akzeptiert Grafikbefehle vom Renderer-Prozess und reicht sie an die Schnittstellen-OpenGL weiter – oder via Angle an Direct3D. So kann der GPU-Prozess in einer modifizierten Sandbox ausgeführt und Chromiums Sandbox-Modell weitergeführt werden, denn der Renderer-Prozess hat auch weiterhin keinen Zugriff auf die Grafik-APIs des Betriebssystems und der GPU-Prozess enthält nur wenig Logik, was die Gefahr von Fehlern reduziert.

Aufbauend auf dieser Basisinfrastruktur hat Google begonnen, das Rendern von Webinhalten in die GPU auszulagern und so zu beschleunigen. Dazu werden Webseiten in Schichten (Layer) aufgespalten, die jeweils mit CSS gestylten Text, Bilder, Videos, WebGL oder 2D-Canvas enthalten.

Die am häufigsten vorkommenden Schichten, solche mit Texten und Bildern, werden derzeit noch von der CPU gerendert und zum Zusammensetzen (Compositing) an die GPU übergeben. Schichten, auf denen viele Pixel bewegt werden, werden von der GPU beschleunigt. So können beispielsweise Videolayer Farbumwandlungen und das Skalieren in einem Shader der GPU abwickeln. Andere Schichten werden komplett in der GPU berechnet, beispielsweise solche mit WebGL-Inhalten.

Da das Zusammensetzen all der gerenderten Schichten in der CPU fast alle Geschwindigkeitsvorteile wieder zunichte machen würde, verlagert Google diesen letzten Schritt, das Compositing, in die GPU. Um das zu testen, muss Chromium mit dem Flag "--enable-accelerated-compositing" gestartet werden.

In der nächsten Zeit will Google weitere Teile des Webseitenrenderings in die GPU verlagern und den Browser so weiter beschleunigen. Details zum Vorgehen beschreibt Google im Designdokument GPU Accelerated Compositing in Chrome(öffnet im neuen Fenster).


Relevante Themen