So geht es weiter mit dem Multiprozess-Firefox
Mozilla hat Firefox 48 veröffentlicht und damit feiert auch die Multiprozess-Architektur Electrolysis, kurz: e10s, Premiere für erste Nutzer. Es handelt sich dabei um den größten Umbau von Firefox, seit es den Mozilla-Browser gibt. Dieser Artikel gibt einen ausführlichen Überblick darüber, was die nächsten Meilensteine hinsichtlich der Multiprozess-Architektur sind.
Multiprozess-Firefox für 40 Prozent der Nutzer von Firefox 48
Mit Firefox 48 erreicht die Multiprozess-Architektur Electrolysis (e10s) erstmals eine finale Version von Firefox – allerdings nur für einen Teil der Nutzer. Genauer sind Nutzer von Microsoft Windows XP, von Apple OS X 10.6 bis 10.8, von Screenreadern oder anderen a11y-Werkzeugen, von Geräten mit Touchscreen, von Firefox in einer Sprache, in welcher von rechts nach links geschrieben wird, sowie Nutzer mit installierten Add-ons noch nicht für die Nutzung der Multiprozess-Architektur qualifiziert. Wer sich allerdings in keine dieser Gruppen einordnen lässt, gehört zur Zielgruppe für die e10s-Aktivierung in Firefox 48. Von dieser Zielgruppe ist die Multiprozess-Architektur für rund ein Prozent aktiviert.
Doch dabei wird es nicht bleiben. Ab der Woche des 15. August soll e10s bereits für zehn Prozent der Zielgruppe freigeschaltet werden und ab der Woche des 22. August für die vollen 100 Prozent der Zielgruppe. An der Gesamt-Population aller Firefox-Nutzer gemessen macht dies in etwa 41 Prozent der Firefox-Nutzer aus.
Update: Für Nutzer der russischen Version von Firefox bleibt e10s in Firefox 48 noch deaktiviert, während eine Absturzursache untersucht und behoben wird, welche vor allem auf der Webseite eines russischen Mail-Anbieters auftritt. Dies betrifft rund fünf Prozent der Ziel-Population. Die Nutzung der russischen Version des Mozilla-Browsers wird ab Firefox 51 nicht länger für e10s disqualifizieren.
Wichtig in diesem Zusammenhang ist, dass die Multiprozess-Architektur in Firefox 48 keine jeweils eigenen Prozesse pro Tab bringt. Der Schwerpunkt liegt in dieser Phase auf der Trennung zwischen Browser-Prozess und Content-Prozess, alle Webseiten laufen damit in einem gemeinsamen Content-Prozess.
Apple OS X 10.6 bis 10.8 werden ab Firefox 49 grundsätzlich nicht mehr unterstützt, Windows XP ab Firefox 53 nicht mehr. Eine e10s-Kompatiblität auf diesen alten Betriebssystemen braucht daher auch in späteren Firefox-Versionen als Firefox 48 nicht mehr erwartet zu werden.
Firefox 49-52: Multiprozess-Firefox für Nutzer mit Add-ons
Mit Firefox 49 soll die Multiprozess-Architektur auch Nutzern mit aktivierten Add-ons zur Verfügung stehen. Dies beschränkt sich in Firefox 49 allerdings erst einmal auf WebExtensions sowie eine kleine Auswahl weiterer von Mozilla ausgesuchter Add-ons. Ab Firefox 50 sollen dann auch Add-ons zur Nutzung von e10s qualifizieren, welche vom Entwickler des jeweiligen Add-ons als kompatibel markiert worden sind, wie zum Beispiel New Tab Override ab Version 3.0. Tab Mix Plus soll allerdings trotz Markierung durch den Entwickler auf Grund bekannter Probleme davon ausgenommen werden.
Da Add-ons, welche vom Entwickler nicht angepasst worden sind, irgendwann nicht mehr funktionieren werden, ist es wichtig, dass Entwickler entsprechende Maßnahmen ergreifen.
In Firefox 51 sollen 773 weitere Add-ons gemeinsam mit e10s erlaubt werden. Ab Firefox 52 sollen alle Add-ons automatisch für e10s qualifizieren, welche vom Entwickler des jeweiligen Add-ons nicht explizit als nicht kompatibel markiert worden sind und die von Mozilla nicht als nicht kompatibel eingestuft werden. Auch die Ausnahme für Tab Mix Plus soll in Firefox 52 aufgehoben werden. Für Firefox ESR 52 sollen allerdings die Kriterien von Firefox 50 gelten.
Firefox 50-54: RTL-Sprachen, a11y-Werkzeuge, Touchscreens
Ab Firefox 50 soll die Multiprozess-Architektur auch für Nutzer von Firefox in Sprachen, in denen von rechts nach links geschrieben wird, aktiviert werden, zumindest unter Windows und macOS, die Linux-Unterstützung wird für Firefox 52 erwartet.
In Firefox 54 soll außerdem die Unterstützung von a11y-Werkzeugen und Touchscreens folgen.
Sandboxing & mehrere Content-Prozesse
Auf Grundlage der Multiprozess-Architektur möchte Mozilla die Sicherheit von Firefox durch Sandboxing verbessern. Während eine Basis-Implementierung bereits vorhanden ist, welche allerdings noch alles andere als restriktiv ist, soll diese weiter verschärft werden und könnte noch in diesem Jahr verfügbar sein, wenn alles gut geht.
Der nächste große Meilenstein wird dann die Verwendung von mehr als einem Content-Prozess sein, so dass andere Webseiten davon unberührt bleiben, wenn ein Script auf einer einzelnen Webseite hängen bleibt. Die Arbeiten hieran haben bereits begonnen, eine Auslieferung wird für das erste Halbjahr 2017 erwartet. Die Nightly-Version von Firefox 53 soll erstmals zwei Content-Prozesse anbieten.
Add-ons in eigenen Prozessen
Die finale Phase von e10s wird schließlich die Auslagerung von Add-ons in eigene Prozesse mit dem Ziel einer verbesserten Performance sowie Sicherheit sein. Angepeilt wird Firefox 55.
Da Du ja auch auf dem Ubuntu-Planeten Zuhause bist: Wie sieht die Verteilung der neuen Funktion über Linux-Repositorys aus?
Genauso wie bei jedem anderen Betriebssystem auch. Die Verteilung von e10s wird über ein System-Add-on geregelt. Das dürfte auch in Firefox vorhanden sein, wenn es über ein Linux-Repository heruntergeladen wird.
Wie ist das zu verstehen mit Add-ons in eigenen Prozessen? Bekommt ein Add-on genau einen Prozess und alle Tabs müssen auf diesen warten oder hat jeder Tab für jedes installierte Add-on nochmals (Unter-)Prozesse?
Vielleicht weißt du wie der Endausbau genau aussehen soll.
Nutze bereits seit Firefox 47 e10s, indem ich es bei about:config aktiviert habe (neuer boolean-Wert mit der Bezeichnung " browser.tabs.remote.force-enable" und dem Wert "true". Überprüfen kann man es nach einem Neustart von Firefox auf about:support. Hier sollte unter "Fenster mit mehreren Prozessen 1/1 stehen). Ich finde es läuft hervorragend, wenn man bedenkt, dass das erst der Anfang von e10s ist. Ich konnte darüber hinaus keine Fehler oder Mängel feststellen. Firefox lief rund(er als zvor) und war sogar etwas reaktionsfreudiger. Freue mich schon auf die nächsten Schritte von e10s, da es sehr zu empfehlen ist. Auch die möglichkeit nicht sichtbare Flash Inhalte zu blockieren ließ meiner Meinung Seiten schneller laden (auf about:config "browser.safebrowsing.blockedURIs.enabled" auf "true" schalten).
Und vielen Dank an den Betreiber des Blogs. Er berichtet immer frühzeitig über die Neuerungen im Firefox. Danke
@Stefan Müller:
Add-ons in eigenen Prozessen befinden sich noch in der Planungsphase, daher kann ich dazu bislang nichts sagen.
@hihi:
Danke, sowas zu lesen motiviert immer!
Was genau ist mit a11y Tools gemeint? (Also was fällt in diesem Fall darunter?)
Alles Mögliche, was der Barrierefreiheit dient. Das können beispielsweise Screenreader sein oder eine Bildschirmlupe. Was Firefox betrifft, wird auch die Verwendung über eine virtuelle Maschine oder ein Gerät mit Touchscreen als Verwendung eines a11y-Tools erkannt.
Achso. Mich wundert nur, habe vorhin mal die portable 48.0 runtergeladen mit einem frischen Profil ohne Add-Ons und a11y tools oder sonstigen e10s Kriterien, aber es ließ sich nicht aktivieren. Unter about:support stand einfach deaktiviert ohne irgendwelche zusätzlichen Angaben warum das so ist.
Im Artikel steht dazu ein ganz wichtiger Teil: 😉
Mit anderen Worten: wenn du alle Kritierieren erfüllst, dann stehen die Chancen 1/100, dass die Multiprozess-Architektur aktiviert wird. Und nach aktuellem Plan (der sich natürlich je nach Feedback ändern kann) garantiert dir das erst ab in ca. drei Wochen eine aktivierte Multiprozess-Architektur.
Hi, inzwischen nutze ich schon länger die Multiprozess-Architektur mit meinen x64 Firefox (Nightly) Windows Builds inklusive den Add-Ons "Adblock Plus" und "WOT" und bin sehr zufrieden mit der Stabilität. Von daher bin ich optimistisch, dass wenn man keine "exotischen" oder völlig veralteten Add-ons verwendet, es ziemlich problemlos funktionieren wird. Bin aber trotzdem auf die ersten Telemetrie Auswertungen dazu gespannt, ob die meinen Optimismus bestätigen. Der nächste Schritt, bei dem jeder Tab ein eigener Prozess mit eingeschränkten Rechten (Sandbox) läuft, stelle ich mir noch schwieriger/heikler vor. Dann wird es sicherlich viel Abstürze mit Zugriffsverletzungen ( c0000005 = ACCESS_VIOLATION ) geben.
Eine aktualisierte Version des Artikels gibt es ab sofort hier.