WebRender: Firefox dreht an der Performance-Schraube

Di, 20. April 2021, Niklas

Mit dem gestrigen Update auf Firefox 88 wurde die neue Rendering Engine WebRender endlich standardmässig aktiviert. Die Entwicklung startete bereits 2012 als Teil des Servo Projekts, das inzwischen von der Linux Foundation übernommen wurde. 2016 hat Mozilla dann damit begonnen, Teile des neuen Codes in Firefox Quantum zu implementieren.

Servo und WebRender sollen den in die Jahre gekommenen Code von Firefox modernisieren und sind in Mozillas eigener Rust Programmiersprache geschrieben. Bereits mit Firefox 67, veröffentlicht am 21. Mai 2019, war WebRender optional verfügbar und konnte in about:config aktiviert werden. Nun soll eben dies zum Standard werden.

Die Performance des standardmässig aktiven WebRender ist alles andere als beeindruckend. In allen Tests liegt sie unter der des schon länger verfügbaren OpenGL. Erst durch manuelle Aktivierung der gfx.x11-egl.force-enabled Option in about:config, die mit Firefox 88 neu hinzukommt, wird die Geschwindigkeit massiv gesteigert.

Trotzdem sind die Ergebnisse sehr unterschiedlich. Wer eine Intel i7-5500U CPU nutzt, ist laut Basemark Web Benchmark mit OpenGL und Basic am besten dran. Die neue WebRender Engine schneidet am besten ab und auch EGL verbessert das nicht bedeutend. Mit AMD Ryzen 2600 zeigt sich ein ganz anderes Bild. Hier ist Basic die schlechteste Wahl, WebRender immerhin noch die zweitschlechteste, aber mit aktiviertem EGL übertrifft WebRender die anderen Optionen bei Weitem.

Im WebXPRT Benchmark geht es weniger um Grafik. Hier zeigt Firefox einen enormen Vorsprung gegenüber den beiden Chromium-basierten Konkurrenten. Die Aktivierung von WebRender und EGL wirkt sich aber kaum auf das Ergebnis aus.

Beim Unity WebGL Benchmark zeigt sich ein ähnliches Bild, wie beim Basemark Web. WebRender schneidet auf der Intel i7-5500U am schlechtesten ab, aber hier ist auch OpenGL schlecht im Vergleich zu Basic. Aktiviert man hier EGL, wird WebRender zum Sieger mit deutlichem Vorsprung. Auf dem Geraet mit AMD Ryzen 2600 liegt Basic hinten, WebRender liegt wieder auf dem zweitschlechtesten Platz, wie schon beim Basemark Web, gewinnt aber mit aktiviertem EGL mit enormem Vorsprung.

Zusammenfassend kann man sagen, dass WebRender allein keinen Unterschied bringen wird, der sich beim Surfen erheblich auswirkt. Auf manchen Geräten wird der Firefox so etwas schneller, auf manchen sogar langsamer. Es ist unbedingt empfehlenswert, die EGL Option in about:config zu aktivieren, denn dann kommt der Firefox in manchen Situationen schon fast an Chromium heran. Zu schlechteren Ergebnissen führt EGL nie.

WebRender wird auf eine ziemlich ungewöhnliche Art und Weise aktiviert werden: Die Einstellungen gfx.webrender.enabled und gfx.webrender.all bleiben in about:config auf false, obwohl die Aktivierung von WebRender auf about:support eindeutig erkennbar ist.

Um WebRender trotzdem zu deaktivieren, kann die Einstellung gfx.webrender.force-disabled in about:config auf true gesetzt werden. Das ist aber nur dann sinnvoll, wenn sich die Performance durch WebRender verschlechtert oder Probleme bei der Darstellung auftreten.

Quellen: