Neuer Tab-Modus zum Testen der Multi-Prozess-Architektur in Firefox
Electrolysis, kurz: e10s, ist der Name des Mozilla-Projektes, welches Firefox um eine Multi-Prozess-Architektur erweitern soll. Für Nutzer der Nightly-Versionen von Firefox ist es durch einen neuen Tab-Modus ab sofort leichter, Firefox mit und ohne Multi-Prozess-Architektur parallel zu testen.
Electrolysis (e10s) bringt eine Multi-Prozess-Architektur in Firefox, um die Browseroberfläche, Plugins sowie Tabs in jeweils eigenen Prozessen auszuführen. In aller Kürze zusammengefasst soll Firefox damit in erster Linie reaktionsfreudiger, in zweiter Linie stabiler sowie durch Sandboxing sicherer werden. Seit Anfang 2013 arbeitet Mozilla wieder an e10s, nachdem das Thema erstmals 2009 aufkam und das Projekt dann 2011 wieder zurückgestellt worden war.
Seit einiger Zeit kann e10s durch Setzen des about:config-Schalters browser.tabs.remote auf true getestet werden. Um weitere Tester zu erreichen, aber e10s nicht standardmäßig für alle Nutzer der Nightly-Versionen von Firefox aktivieren zu müssen, hat Mozilla folgende Änderung vorgenommen: browser.tabs.remote steht in der Nightly-Version von Firefox nun standardmäßig auf true. Zusätzlich muss der neu eingeführte Schalter browser.tabs.remote.autostart (standardmäßig auf false) ebenfalls auf true gesetzt werden, um Firefox immer im e10s-Modus zu betreiben. In diesem Fall erscheint im Datei-Menü zusätzlich der Eintrag „New In-process Window“, um ein Fenster zu öffnen, welches nicht Gebrauch von separaten Prozessen macht.
Ändert der Nutzer keinen Schalter über about:config und belässt die Standard-Einstellungen, dann ist e10s deaktiviert, kann über das Datei-Menü aber für einzelne Fenster aktiviert werden, indem der neue Eintrag „New OOP Window“ ausgewählt wird (OOP = out of process). Dies erinnert vom Prinzip her an die Privaten Fenster, welche ebenfalls einen speziellen Modus für alle Tabs in entsprechendem Fenster aktivieren; in diesem Fall um keine Chronik oder sonstigen Daten dauerhaft zu speichern. Unterstrichene Seitentitel in den Tabs kennzeichnen die OOP-Fenster.
Update 15.02.2014: Mozilla hat den Eintrag „New OOP Window“ umbenannt in „New e10s Window“.
[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/nightly-e10s-1.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/nightly-e10s-1.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Wichtiger Hinweis: Nicht grundlos wird e10s zu diesem Zeitpunkt noch nicht standardmäßig für alle Nutzer der Nightly-Versionen aktiviert. Noch immer funktionieren damit grundlegende Dinge wie die Druckfunktion nicht. Außerdem wird dringend empfohlen, eine Sicherung des Firefox-Profils anzulegen, bevor e10s getestet wird, um möglichen Datenverlusten durch Beschädigungen des Profils vorzubeugen. Dies sollte beim Umgang mit Nightly-Versionen grundsätzlich beachtet werden.
[lightbox style=“modern“ image_path=“https://www.soeren-hentzschel.at/wp-content/uploads/nightly-e10s-2.png“ popup=“https://www.soeren-hentzschel.at/wp-content/uploads/nightly-e10s-2.png“ link_to_page=““ target=““ description=““ size=“two_col_small“]
Hallo Sören,
danke für den interessanten Artikel. Ich habe mich gefragt, warum Mozilla hier noch Arbeit reinsteckt. Sandboxing usw. sollte doch auch mit Servo kommen, oder? Oder würde man „e10s“ dann einfach weiternutzen und braucht es so oder so?
Viele Grüße
Servo ist zunächst einmal einfach eine Engine wie Gecko. Das bringt noch keine verschiedenen Prozesse für verschiedene Aufgaben, was Sinn und Zweck von e10s ist. Das Sandboxing wird durch die Prozess-Separation erreicht. Dazu kommt, dass Servo noch mindestens zwei Jahre brauchen wird und jetzt noch gar nicht gesagt werden kann, ob Servo Gecko überhaupt ablösen wird, dazu ist die Entwicklung noch nicht weit genug. Electrolysis wird kommen und ich gehe da eher von noch etwa einem Jahr aus.
Ich halte das Mulithreading für sehr wichtig. Selbst ich -der ich nicht sehr viele Webseiten besuche- beobachte immer wieder, wie der eine Kern, der von Firefox benutzt wird, bei jedem Seitenwechsel auf 100% springt. Die Auslagerung des Flash-Plugins war ja schonmal ein guter Vorgeschmack.
Also bei mir sind auch mit heutigem Nightly beide Schlüssel default auf false.
Hab mal die beiden Schlüssel auf true gesetzt. War das nicht so geplant daß jeder Tab einen Prozeß bekommt? Scheint ja so zu sein daß Tabs alle in einem Prozess laufen.
Ich weiß nicht, ob es langfristig geplant ist, jeden Tab in einem eigenen Prozess zu haben, zunächst sollen erst einmal Browser und Content voneinander getrennt werden, die Herausforderung ist groß genug. Ich denke, wenn man soweit ist, dass das alles richtig läuft, dann ist es zu einzelnen Tab-Prozessen auch nicht mehr ganz so weit.
Ist hier auch so – beide Schlüssel default auf false.
Jo, habs mal überprüft, browser.tabs.remote ist nur auf Mac OS X standardmäßig auf true, Windows und Linux sind hinten dran, die standardmäßige Aktivierung wird dadurch geblockt, dass OMTC auf diesen Plattformen noch nicht fertig ist. Da muss also selbst der Schalter umgelegt werden.
Ich habe bei Aurora die Einstellung „browser.tabs.remote.autostart“ auf true gestellt und FF neu gestartet, leider muss ich die e10s-Fenster immernoch manuell starten. Weiss du wieso?
Das ist Nightly-exklusiv.