Project Quantum: Firefox soll Next-Gen-Webengine bekommen
Schon in einem Jahr sollen erste Arbeiten einer neuen Webengine im Firefox-Browser bereitstehen. Dazu will Hersteller Mozilla große Teile der in Rust geschriebenen Engine Servo im Firefox unterbringen, was die Leistung des Browsers deutlich steigern soll.
Die Multiprozessarchitektur im Firefox, Electrolysis, sei die größte Änderung jemals am Firefox, schreibt David Bryant, Leiter der Plattformentwicklung bei Mozilla. Da Electrolysis bereits verteilt wird und bald bei allen Firefox-Nutzern ankommen sollte, kann Mozilla die nächste riesige Änderung in seinem Browser in Angriff nehmen. Und das soll nichts weniger werden als eine "Webengine der nächsten Generation".
Das Projekt nennt Mozilla Quantum, da sich das Unternehmen davon einen Quantensprung (Quantum Leap) in Bezug auf die Leistung des Browsers verspricht - also einen phänomenalen Durchbruch. Erreicht werden soll das durch eine umfassende Parallelisierung der Aufgaben der Software sowie durch die Verwendung moderner Hardwarefunktionen.
Geplant seien Leistungssteigerungen, die so stark spürbar seien, dass sich die gesamte Browsernutzung anders anfühlen werde. "Seiten werden schneller laden, das Scrolling wird samtweich. Animationen und interaktive Anwendungen werden sofort reagieren und mehr Inhalte bei konstanter Bildwiederholrate verarbeiten können". Obwohl dies vielleicht sogar etwas zu ambitioniert klingt, sind diese Ziele wohl mit bereits existierenden Techniken erreichbar.
Massive Beschleunigung dank Servo und Threads
Als die Arbeiten an der zurzeit im Firefox genutzten Engine Gecko begannen, hatten die meisten Rechner lediglich eine Ein-Kern-CPU und wenn überhaupt nur eine sehr schwache GPU. Die Mehrheit der Nutzer heute hat aber eine Mehrkern-CPU und vergleichsweise leistungsfähige GPUs zur Verfügung - selbst in Smartphones.
Gecko selbst ist bis auf Electrolysis zwar wenig darauf angepasst worden, aber auch deshalb hat Mozilla die neue Engine Servo erstellt, die in Rust geschrieben ist und als Neuanfang viele neue Konzepte umsetzen konnte. Das will Mozilla jetzt nutzen und einige wichtige Teile von Servo im Firefox integrieren, die vor allem die GPU ausnutzen sollen.
Die wohl wichtigste Komponente dabei ist der Webrender von Servo. Dieses Backend soll idealerweise das gesamte Rastern der Darstellung auf der GPU durchführen statt wie bisher auf der CPU. Ebenso soll das CSS-Style-System aus Servo in Firefox integriert werden. Servo unterscheidet dabei konsequent zwischen Styling und Layout.
Das Teilprojekt Quantum DOM soll Javascript-Code für einzelne Tabs und möglicherweise sogar für unterschiedliche Iframes in Userspace-Threads mit einem kooperativen Scheduling ausgeführt werden. So soll gewährleistet werden, dass etwa unwichtiger Code im Hintergrund nie ausgeführt wird, was zum Beispiel den Wechsel zwischen Tabs beschleunigen kann. Details dazu erläutert Entwickler Bill McCloskey in seinem Blog.
Laut Bryant sei geplant, diese Änderung bereits Ende 2017 mit Firefox auszuliefern, und zwar für alle unterstützten Plattformen, also Windows, MacOS, Linux und Android. Falls Apple dies je erlaubt, soll die neue Engine auch auf iOS portiert werden. Weitere Details zu Project Quantum finden sich im Wiki von Mozilla.
Weil ich viel vorhabe und mich vieles interessiert, mich aber auch leicht ablenken lasse...
"Snappyness".. find ick jut!
a) stimmt das so übertrieben garnicht mal b) trifft es aber wohl gerade für die unter...
Danke David, dass du das noch mal zusammenfasst. Mir geht es nämlich sowas von auf den...