Schlagwort: WebRender

  • Mozilla: WebRender erreicht Beta-Status

    WebRender erreicht Beta-Status
    Bild: Mozilla

    WebRender ist eine neue Render-Engine, die Mozilla bereits seit einigen Jahren im Rahmen des Projekts Quantum Render entwickelt. Sie ist Teil der Next-Gen-Engine Servo und soll künftig den Compositor ersetzen, den Gecko derzeit in Firefox nutzt. Jetzt gab Mozilla bekannt, die neue Engine habe Beta-Status erreicht. Bereits im Juli wurde sie in der Firefox Nightly 63 für einen Teil der Anwender von Windows 10 mit Nvidia-Grafikkarten auf Desktop-Rechnern im Rahmen einer Studie freigeschaltet.

    Was macht WebRender?

    Mit dem in Rust programmierten WebRender verlagert sich der Prozess des Aufbaus und der Darstellung wechselnder Elemente einer geladenen Webseite von der traditionell dafür benutzten CPU stärker auf die Grafikeinheit. Die GPU wird dabei ähnlich einer 3D-Game-Engine benutzt, allerdings optimiert für Webseiten-Rendering. Dabei geht es nicht hauptsächlich darum, Webseiten schneller zu rendern, sondern mit besseren Frameraten, unabhängig von der Größe des Displays.

    Nicht mehr in diesem Jahr

    Noch werden einige Firefox-Versionen kommen und gehen, bevor die neue Engine zum Standard wird. Wer nicht so lange warten will, kann WebRender in den aktuellen Nightlies freischalten. Dazu wird in about:config der Schalter gfx.webrender.all aktiviert und Firefox neu gestartet. Der Erfolg lässt sich in about:support überprüfen, wo im Erfolgsfall im Abschnitt Graphics ziemlich am Ende WebRender: Force enabled by pref steht.

    Benchmarks sehen Chrome vorne

    Auf Phoronix gibt es bereits erste Benchmarks mit und ohne WebRender bei Firefox und im Vergleich mit Chrome. Diese sind mit Vorbehalt zu betrachten, da die Engine noch Beta-Status hat und es dabei nicht nur um Geschwindigkeit, sondern auch um Geschmeidigkeit beim Aufbau von Seiten geht. Zudem sind dies synthetische Benchnmarks, die nicht immer die gefühlte Wirklichkeit abbilden. Die Relevanz des doch gewaltigen Vorsprungs von Chrome wird sich somit erst in einigen Monaten erweisen, wenn WebRender stabil in Firefox integriert ist.

  • WebRender – der nächste Schritt bei Firefox

    WebRender
    Screenshot: ft

     

    Mit Firefox Quantum hat Mozilla einen großen Schritt getan um dem Verschwinden in der Bedeutungslosigkeit zu entgehen. Noch wissen wir nicht, ob und wenn ja, wie sich das auf die Verteilung der Marktanteile auswirken wird. Was wir aber wissen ist: Quantum ist nicht das Ende der Fahnenstange, die Optimierung geht weiter.

    WebRender in der Gecko-Engine

    Der nächste Schritt, der derzeit noch in der Anpassungsphase ist, heißt WebRender. Dabei handelt es sich um einen GPU-basierten Renderer, der derzeit auf der experimentellen Servo-Engine entwickelt wurde und nun auf die derzeit von Firefox verwendete Gecko-Engine übertragen und angepasst wird. Anwender von Firefox Nightly können WebRender bereits testen.

    Verhalten einer 3D-Game-Engine

    WebRender verhält sich beim Rendern wie eine moderne 3D-Game-Engine. Dabei werden die Aufgaben zwischen CPU und GPU aufgeteilt und, was die CPU betrifft, parallel abgearbeitet. Weitere technische Einzelheiten dazu vermittelt das WebRender-Wiki auf GitHub. Laut Mozilla Hacks geht es bei WebRender nicht so sehr um eine direkte Steigerung der Geschwindigkeit beim Rendern, sondern eher um eine Glättung des Vorgangs. Mit WebRender sollen Apps mit 60 Frames pro Sekunde laufen, egal wie groß das Display ist oder wieviel der Seite sich pro Frame ändert. Was eine Render-Engine generell macht, um aus HTML und CSS Pixel auf unseren Bildschirmen zu zeichnen, erläutert ein weiterer Grundlagenartikel auf Mozilla Hacks.

    Test mit Firefox Nightly

    Wer sich selbst ein Bild vom derzeitigen Stand von WebRender machen möchte, benötigt Firefox Nightly, derzeit bei Version 59. Da WebRender noch nicht freigeschaltet ist, müssen per about:config vier Parameter aktiviert werden. Es handelt sich um gfx.webrender.enabled, gfx.webrender.blob-images, image.mem.shared, und layers.acceleration.force-enabled. 

    Beim derzeitigen Stand funktioniert WebRender laut diesem Blog gut mit Intels aktuellen Mesa-Treibern, während Nvidias proprietärer Treiber unter Linux noch weiterer Anpassung bedarf. Der Nvidia-Treiber unter Windows soll dagegen weniger Probleme machen. Wann WebRender in die stabilen Veröffentlichungen von Firefox übernommen wird, hängt davon ab, wie schnell die Optimierungsphase abgeschlossen werden kann.