Login
Newsletter
Werbung

Do, 16. November 2017, 20:20

Software::Browser

Firefox 57 »Quantum«: Die Neuerungen im Detail

Mozilla feierte vorgestern die Freigabe der neuen Version 57 von Firefox wie noch keine Version zuvor. Zu Recht, wenn man sich die tiefgreifenden Neuerungen ansieht. Doch für das nächste Jahr sind noch viele weitere Verbesserungen geplant, die jetzt erst möglich werden.

Wie sehr Mozilla die neue Version als Meilenstein ansieht, ist schon daran zu erkennen, dass sie einen eigenen Codenamen, »Quantum«, erhielt, was bisher nicht der Fall war, und auch intern feierte. Aus Benutzersicht wurde die Oberfläche erneuert, wobei sich die Änderungen in Grenzen hielten, doch vor allem wurde die Geschwindigkeit erheblich gesteigert. Aufgrund des internen Umbaus musste allerdings die bisherige Erweiterungsschnittstelle aufgegeben werden. Erweiterungen können nur noch die WebExtensions-Schnittstelle nutzen, die in Teilen kompatibel mit anderen Browsern, insbesondere Chrome ist, und es daher den Entwicklern ermöglicht, eine weitgehend einheitliche Codebasis für Erweiterungen für verschiedene Browser zu pflegen. Die Nachteile sind klar: Tausende von Erweiterungen, die nicht mehr ganz so aktiv gepflegt werden, fielen auf einen Schlag weg. Doch nicht nur mangelnde Pflege oder schlichtweg Zeitmangel der Entwickler dünnte die verfügbaren Erweiterungen aus: Die Tatsache, dass den WebExtensions immer noch zahlreiche Funktionen im Vergleich zur alten Schnittstelle fehlen, führte dazu, dass etliche Erweiterungen zur Zeit nicht portierbar sind. Aufgrund der langen Vorlaufzeit wurden allerdings viele populäre Erweiterungen bereits portiert.

Die Geschwindigkeitsoptimierungen in Firefox beruhen zum Teil auf vielen einzelnen Optimierungen. Doch hauptsächlich ist die Ersetzung der Browser-Engine dafür verantwortlich. Mozilla wollte einen Wechsel von der groben Parallelität, die mit Firefox 48 bis 51 im Rahmen des Projekts Electrolysis eingeführt wurde, zu einer wesentlich stärkeren, feinkörnigeren Parallelität. Vor Version 57 verwendete Firefox nur einen Prozess für jeweils einen oder mehrere Tabs und einen für die Oberfläche. Ab Firefox 57 werden möglichst alle Kerne des Systems genutzt und in Zukunft auch die meist zahlreichen Kerne der Grafikkarte.

Fotostrecke: 7 Bilder

Firefox 57 »Quantum«
Startseite von Firefox 57 »Quantum«
Neue Tabs in der Standardeinstellung
Adresszeile in Firefox 57 »Quantum«
Screenshots in Firefox 57 »Quantum«
Mit der bisherigen HTML-Engine »Gecko« war dies nicht erreichbar. Daher entwickelte Mozilla eine neue Engine von Grund auf, die Servo genannt wurde. Eigens zur Programmierung dieser Engine wurde die neue Programmiersprache Rust ersonnen, die allmählich über Mozilla hinaus Anwender findet. Wie ein langer Artikel von Lin Clark beschreibt, ist Rust eine Sprache, die Parallelität ohne viel Mühe ermöglicht. Unter dem Projektnamen Quantum wurden dann die neue Engine Servo und weitere Komponenten entwickelt. Der Quantum Compositor, der in Firefox 57 enthalten ist, verlagert den grafischen Kompositor in einen eigenen Prozess und macht damit den Browser reaktionsschneller und stabiler. Denn wenn ein Grafiktreiber abstürzen sollte, stürzt Firefox selbst nicht mehr ab, sondern kann eventuell den Kompositor neu starten.

Die Priorisierung von Threads, die den gerade aktiven Tab darstellen, wird von Quantum DOM übernommen. Quantum DOM ist laut Clark noch nicht ganz, aber überwiegend in Firefox 57. Ebenfalls enthalten ist Quantum CSS (Stylo), mit dem die Berechnung der Stile der einzelnen Elemente, die mit CSS definiert werden, stark parallelisiert wird. Dies ist die Hauptquelle der aktuellen Beschleunigung von Firefox. Der letzte große Schritt ist Quantum Render. Dieser hat zum Ziel, die Darstellung der Webseite mit Hilfe der GPU in ganz neue Geschwindigkeitsregionen zu heben. Dieses Projekt, WebRender genannt, wird im Laufe des Jahres 2018 kommen. Eine Änderung, die wohl bereits aktiv ist, dient der Vorbereitung und beschleunigt Firefox schon jetzt. Dabei wurde das Ebenensystem so umgestellt, dass es die GPU-Nutzung optimiert. Die weitere Optimierung des Browsers, Quantum Flow genannt, wird künftig zu einer Dauereinrichtung.

Eine weitere Beschleunigung soll es zumindest in einigen Bereichen durch WebAssembly geben. WebAssembly war bereits in Firefox und Chrome eingebaut und ist jetzt auch in den Browsern von Apple und Microsoft implementiert. Da dadurch alle wesentlichen Browser WebAssembly unterstützen, sollte es bald zahlreiche Anwendungen geben, die sich das zunutze machen. Anwendungsgebiete sind Spiele, wo WebAssembly auch seinen Ursprung hatte, sowie maschinelles Sehen, 3D-Karten, Oberflächen, Spracherkennung, Audio-Mixer, Video-Codecs, digitale Signalverarbeitung, medizinische Bildverarbeitung, physikalische Simulationen, Verschlüsselung, Kompression und Computer-Algebra.

Werbung
Kommentare (Insgesamt: 29 || Alle anzeigen )
Yippie-ya-yeah, endlich kein XUL mehr. (Atalanttore, Sa, 9. Dezember 2017)
Re[2]: Noch immer kein Default Zoom Level? (renegat, So, 3. Dezember 2017)
Re[2]: Performance Gewinn, nur fehlen einige Erweiterungen (Töppke, Mo, 20. November 2017)
Re: Noch immer kein Default Zoom Level? (Verfluchtnochmal, So, 19. November 2017)
KDE Konqueror Browser Alternative (BrowserAlternativen, Sa, 18. November 2017)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung