Next-Generation-Engine: Quantum Compositor landet in Firefox Nightly
Vor wenigen Tagen hat Mozilla das Projekt Quantum angekündigt. Damit möchte Mozilla Gecko zu einer Browserengine der nächsten Generation ausbauen und die Performance auf ein ganz neues Niveau heben. Ein Teil davon, der Quantum Compositor, ist nun in der Nightly-Version von Firefox für Windows gelandet.
Das Projekt Quantum wurde vor wenigen Tagen von Mozilla angekündigt. Mozilla erhofft sich von Quantum einen derartigen Performance-Sprung, dass sich die gesamte Web-Experience, verglichen mit dem Stand heutiger Engines, anders anfühlen soll: Webseiten sollen schneller laden, das Scrolling noch sanfter sein, Animationen und interaktive Apps sollen verzögerungsfrei antworten und mit noch mehr Content bei gleichbleibend hoher Framerate umgehen können. Wichtige Inhalte sollen automatisch die höchste Priorität beim Rendering zugewiesen bekommen. Möglich soll dies durch die Ausnutzung moderner Hardware, die Parallelisierung von Aufgaben sowie Auslagerung von Aufgaben an die Grafikkarte werden. Dazu werden auch Entwicklungen aus Mozillas Servo-Projekt in Gecko integriert.
Der Quantum Compositor ist nun in der Nightly-Version von Firefox 52 gelandet. Damit läuft Geckos Compositor-Code künftig in einem eigenen Prozess. Da Grafiktreiber eine der Hauptquellen für Firefox-Abstürze sind, wird durch die Auslagerung in einen eigenen Prozess erwartet, dass Firefox dadurch wesentlich stabiler wird.
Als Prozessname wird wie bei Firefox selbst „firefox.exe“ verwendet. Die Verwendung eines unbekannten Prozessnamen, das hat bereits die Entwicklung an der Multiprozess-Architektur Electrolysis, kurz: e10s, gezeigt, führt zu Problemen mit Sicherheitssoftware, die beim Anwender installiert sein kann.
Sofern der Quantum Compositor aktiv ist, erscheint eine entsprechende Information auf der Seite about:support mit der ID des Prozesses sowie einer Schaltfläche, um den Prozess (bei Problemen) zu beenden.
Der Quantum Compositor wird nicht in der finalen Version von Firefox 52 ausgeliefert werden, sondern ist derzeit noch auf Nightly-Versionen limitiert. Damit der Quantum Compositor in einer finalen Version von Firefox aktiviert werden können, müssen alle Abhängigkeiten des entsprechenden Meta-Tickets umgesetzt sein.
Der Quantum Compositor wird derzeit nur auf Systemen mit Windows 7 inklusive Plattform-Update und höher unterstützt. Außerdem muss Direct3D 11 unterstützt werden.
Im letzten Satz des vorletzten Abschnitts ist ein Fehler:
Damit der Quantum Compositor in einer finalen Version von Firefox aktiviert werden KANN, müssen alle Abhängigkeiten des entsprechenden Meta-Tickets umgesetzt sein.
Fein, ein weiterer Schritt in die richtige Richtung für Firefox. Hoffentlich landet das Feature bald in der Aurora.
@hihihihi:
Danke, ist korrigiert!
Ich musste erst mal ein wenig suchen, um herauszufinden, welche Aufgaben der Gecko-Compositor eigentlich hat … .
In denm Bugzilla-Eintrag geht's ja nur um die Windows-Version.
Gibt es irgendwo Informationen zu macOS, Linux, Android(OpenGL)?
@R. Bielefeld:
Danke, der Link ist eine sinnvolle Ergänzung. Ich habe ihn eben nachträglich in den Artikel eingefügt.
@Julian:
es gibt noch ein allgemeineres Meta-Ticket hier:
https://bugzilla.mozilla.org/show_bug.cgi?id=1307578
Dieses beinhaltet das verlinkte Meta-Ticket zur Windows-Implementierung sowie weitere Tickets als Abhängigkeiten. Diese Abhängigkeiten drehen sich auch um macOS sowie Linux. Eigene Meta-Tickets, die den Fortschritt speziell für diese Plattformen tracken, sind mir nicht bekannt. Möglicherweise braucht es die gar nicht, wenn Windows und die anderen Abhängigkeiten umgesetzt sind, möglicherweise kommt das noch, wenn erst einmal Windows ordentlich funktioniert.