Wann erscheint Firefox mit Multiprozessarchitektur?
Unter dem Namen Electrolysis, kurz: e10s, arbeitet Mozilla bereits seit einiger Zeit an einer Multiprozessarchitektur für Firefox. Bis zu einer standardmäßigen Aktivierung in einer finalen Version von Firefox dauert es noch etwas. Dieser Artikel soll einen Ausblick auf die kommenden Phasen der Aktivierung geben.
Wann erscheint Firefox mit Multiprozessarchitektur? Die kurze Antwort darauf ist: es gibt noch keinen zuverlässigen Termin, der genannt werden könnte. In einer längeren Antwort lassen sich aber die nächsten geplanten Phasen betrachten. Natürlich stellen diese Phasen alle nur aktuelle Planungen dar und können sich im Laufe der kommenden Wochen und Monate wieder ändern.
Jede Firefox-Version durchläuft vier Phasen: Nightly, Aurora (Developer Edition), Beta und schließlich Final. In der Nightly-Version sowie Developer Edition ist e10s bereits standardmäßig aktiviert. Die Beta-Version von Firefox 43 ist seit letzter Woche technisch gesehen in der Lage, e10s zu nutzen. Dies sollte Voraussetzung für ein Telemetrie-Experiment sein, um e10s standardmäßig für einen kleinen Teil der Beta-Population zu aktivieren. Aufgrund von Verzögerungen wurde das Telemetrie-Experiment auf Firefox 44 verschoben und soll nun mit der ersten Beta-Version von Firefox 44 stattfinden, welche am 16. Dezember veröffentlicht werden wird. Im Rahmen dieses Telemetrie-Experiments soll e10s für 7,5 Prozent der Beta-Nutzer aktiviert werden. In der Betaversion von Firefox 45 soll e10s dann für alle Nutzer ohne Add-ons, die außerdem keine a11y-Tools wie Screenreader verwenden, standardmäßig aktiviert werden.
Angepeilt für die standardmäßige Aktivierung von e10s in einer finalen Version von Firefox wird derzeit Version 46, welche voraussichtlich am 19. April 2016 erscheinen wird – zunächst allerdings nur für Nutzer, welche keine Add-ons installiert haben, und dann schrittweise für Nutzer mit kompatiblen Add-ons bis es schließlich für alle Nutzer aktiviert werden wird.
Es freut mich zu hören, dass es voran geht.
Da ich eigentlich nur noch im Beta-Channel bin würde mich interessieren, ob man eine Meldung oder sonstige Benachrichtigung bekommt, falls man zu den 7,5 % gehören sollte.
Roman
Wenn du an einem Telemetrie-Experiment teilnimmst, siehst du das im Add-on Manager, dort gibt es einen eigenen Abschnitt für Telemetrie-Experimente. Vermutlich muss Telemetrie dafür aktiviert sein, das ist standardmäßig in der Betaversion der Fall, solltest du aber vorher kontrollieren, in den Einstellungen unter Erweitert und dort unter Datenübermittlung.
Achso, und ergänzend: Ich gehe davon aus, dass man in Form einer Hinweisleiste beim ersten Start mit aktiviertem e10s darauf hingewiesen wird, so ist es nämlich in der Nightly-Version und Developer Edition.
Danke.
Ja, das ist in den Einstellungen schon aktiviert. Mal sehen, was sich dann nach dem Update zeigt.
Roman
man sieht es auch direkt in der titelleiste, es wird ein "e10s" am ende hinzugefügt.
zumindest ist es bei meiner Developer Edition so wenn ich e10s aktiviere.
Und keine Angabe zur Geschwindigkeit? Rein subjektive Einschätzung hätte auch gereicht 😉
Meine erste Frage wäre, ob es (e10s) denn spürbar was bringt, bei wem von euch es schon aktiviert ist?
Habe unabhängig von Firefox vor kurzem meinen RAM Speicher deutlich aufgestockt, davon profitiert insbesondere Firefox auch ordentlich 🙂 (Auf einem Mac)
@Maddy:
Da es in diesem Artikel nur um den Zeitplan geht, erwartungsgemäß nicht. 😉 Geschwindigkeit hängt ja auch von Faktoren wie dem eigenen System und auch den installierten Add-ons ab. Darüber hinaus ist Performance jetzt seit kurzem überhaupt erst ein Thema. Angaben zur Performance, die ich jetzt treffen würde, wären bis zum Erscheinen in einer finalen Version vermutlich hinfällig. Noch ist Firefox ohne e10s in jedem Fall etwas performanter, weil der Fokus die größte Zeit nur auf der Funktionalität lag und nun auch erst auf der Performance.
@David Decker:
Ich nutze Nightly-Versionen, aber abgesehen von Tests zwischendurch ist e10s bei mir noch deaktiviert, da ich den Browser den ganzen Tag zum produktiven Arbeiten benötige und dann gerne das Maximum an Stabilität, Performance und Fähigkeit zur Darstellung von Webstandards hätte, den ich von einer Nightly-Version erwarten kann – denn auf dem Release-Kanal will ich schon bleiben. Natürlich wäre die Stabilität in einer finalen Version noch besser. 😉
Mit meinem Urteil, ob es spürbar was bringt, werde ich warten, bis e10s wenigstens standardmäßig in einer Betaversion aktiviert ist. Auch, weil sich noch so viel tut. Wichtig ist in diesem Zusammenhang, dass e10s in der ersten Auslieferung nur Firefox selbst vom Webcontent trennt, es gibt also nur einen einzigen Contentprozess für alle Tabs zusammen, es läuft nicht jeder Tab in einem eigenen Prozess. Das wird später kommen und dann wird gegenüber einem Content-Prozess definitiv nochmal etwas bringen, aber der Fokus liegt erst einmal darauf, dass mit einem Content-Prozess gut hinzubekommen. Insofern kann man zumindest sagen, dass es nach der ersten standardmäßigen Auslieferung noch Potential nach oben geben wird. 😉
Immer schön, wenn sich Änderungen bezahlt machen. 🙂
Was ich nicht verstehe: Warum überlässt man den Usern der Beta nicht selbst die Wahl ob sie e10s aktiviert haben möchten oder nicht? Wer eine Beta installiert hat, sollte eigentlich damit umgehen können.
Von meinen Erfahrungen mit e10s in Nightly und Aurora finde ich schon dass auch der derzeitige Stand die snappiness des Surferlebnisses deutlich erhöht.
Das mag für Nightly und Aurora zutreffend sein, die Betaversionen von Firefox sollen aber nach Möglichkeit das finale Produkt repräsentieren. Das bedeutet, dass hier ein gewisser Qualitätsstandard erreicht sein muss, der deutlich über dem Qualitätsstandard liegt, der in der Developer Edition noch akzeptabel wäre. Bedenke auch, dass die Betaversionen die letzte Möglichkeit für Mozilla sind, insbesondere Stabilitätsprobleme noch vor Veröffentlichung der finalen Version in den Griff zu bekommen. Wenn nun die Mehrheit der Nutzer e10s aktiviert, obwohl es noch nicht weit genug ist, dann kannst du sicher sein, dass die finale Version eine Katastrophe hinsichtlich Stabilität wird, weil die relevanten Probleme für die finale Version nicht erkannt werden. Darüber hinaus: Wenn das Telemetrie-Experiment in der Betaphase startet, startet damit die Betaphase von Firefox 44, während die Hauptentwicklung von Firefox 46 beginnt. Mit anderen Worten: zu diesem Zeitpunkt fehlen der Betaversion die Mehrheit der Änderungen der letzten drei Monate (!) und das ist ein langer Zeitraum, insbesondere, wenn Firefox 46 als Release angepeilt wird. Da ergibt es dann nicht so viel Sinn, in Firefox 44 e10s schon für alle aktivierbar zu machen. Teilweise ja, da man natürlich Testerkenntnisse sammeln möchte. Aber Mozilla sieht e10s noch nicht weit genug für mehr (und dem stimme ich definitiv zu, vor allem, da ich sehe, wie viel sich momentan noch hinsichtlich e10s tut und was noch alles offen ist). Gerade performance-technisch hat e10s noch nicht Betaqualität in Version 44.
Ok, das macht schon Sinn.
Wahrscheinlich ist man mit den ganzen Vorabversionen von Betriebssystemen und dem ganzen Early-Access-Programm im Spielebereich schon so verdorben, dass man sich erst wieder in Erinnerung rufen muss was die einzelnen Versionsmeilensteine eigentlich bedeuten (sollten) 😉
Ich nutze e10s schon seit mindestens einem halben Jahr mit der Nightly und muss sagen, dass es in der aktuellen Version (45) sehr gut funktioniert. Allerdings nur wenn man keine Addons verwendet die Shims verwenden und der PC nicht zu langsam ist.
Geschwindigkeit bringt es momentan natürlich keine, dafür ist e10s gar nicht gedacht.
e10s bringt wenns fertig ist eher Stabilität (Tabs lasen nicht den kompletten Firefox abstürzen) und Sicherheit (Sandboxing). Für später ist es geplant mehrere Prozesse zu verwenden, was durch die Parallelisierung auch Leistung bringen kann.
Was Leistung angeht kann man sich eher auf asynchrones Scrollen freuen. (layers.async-pan-zoom.enabled;true)
Das fühlt sich so an als ob man von einem Pentium 4 auf einen i7 aufgerüstet hätte 😉
Der Plan mit dem stufenweisen Aktivieren von e10s den du hier beschrieben hast finde ich jedenfalls perfekt. Damit gibt man den Addon Entwicklern noch etwas mehr Zeit.
Die Performance auf meinem Haupt-PC (i5,8GB RAM, SSD) hat schon vor einigen Monaten einen Stand erreicht, wo man keinen Unterschied zu non-e10s mehr erkennen kann. Für alle Addons die ich verwende gibt es auch Alternativen die mit e10s kompatibel sind.
Auf meinem langsamen Laptop (C2D 1,6GHz) sieht man allerdings noch sehr gut dass e10s sehr langsam ist. Vor allem das Wechseln von Tabs ist eine Katastrophe. Ohne e10s wird quasi sofort gewechselt, mit e10s vergehen oft mehrere Sekunden bis bereits geladene Inhalte wieder dargestellt werden. (Wohlgemerkt, ohne ein einziges Addon oder Plugin) Die Situation hat sich in den letzten Monaten auch leider nicht mehr wirklich gebessert.
Das Ganze kann man umgehen indem man einfach e10s mehrere Prozesse machen lässt. Das bringt momentan aber noch mehr Probleme als es löst.
Grundsätzlich finde ich e10s super, nur sollte Mozilla sehr vorsichtig sein beim Aktivieren im Release Channel.
Der Release-Termin wird schon seit Monaten immer weiter nach hinten verschoben, und das ist auch gut so, wenn die Qualität nicht passt.
Vor allem Addons sind noch ein großes Problem, und da kann Mozilla nur darauf warten, dass die Addon Entwickler was tun.
Für mein Core2Duo Notebook kann ich nur das eben geschriebene bestätigen. Deswegen nutze ich E10s auch nicht. Ich sehe auch nicht das sich da was verbessert hat die letzten Monate und wenn E10s in 4-6 Monaten schon fertig sein soll, bleibt nur zu hoffen das sich noch was tut in der Richtung.
Es haben sich definitiv Dinge getan, ich verfolge jeden Tag alle geschlossenen Tickets. Es gibt sogar Metriken, in denen Firefox mit e10s besser abschneidet als Firefox ohne e10s. Die Bereiche, in denen e10s Firefox noch ausbremst, sind erst seit kurzem überhaupt ein Fokus, weil bisher die Funktionalität im Vordergrund stand. Und Add-ons sind ein ganz wichtiger Faktor für e10s. Add-ons, die Gebrauch von den Kompatibilitäts-Shims machen statt wirklich e10s-kompatibel zu sein, die haben einen teilweise sehr negativen Einfluss auf die Performance. Das kann einen Riesen-Unterschied machen. Nicht grundlos erfolgt der initiale Rollout ja auch erst für Nutzer ohne Add-ons. Ich gehe davon aus, dass du mit Add-ons getestet hast? 😉
Sowohl als auch. Wenn man merkt es rennt nicht schaut man mal was ist denn ohne addons, dafür hab ich mein Testprofil. Addons wirken sich hauptsächlich auf die Startzeit aus, im Betrieb eher weniger. Ich hab eben mal wieder getestet, beim letzten mal hatte ich immer so eine CPU Grundlast und ständig kam der große Throbber bevor die Websites angezeigt wurden. Beim umschalten zwischen den Tabs gabs dann immer eine Gedenksekunde. In der Tat es ist besser geworden, dabei ist der letzte Test noch gar nicht so lange her. Beide Probleme sind nicht mehr da. Was jetzt noch ist, ab und zu flackert es mit schwaren Hintergrund mal beim laden oder die Website bleibt weiß bis man weiter scrollt. Das wird hoffentlich noch.
Hardwarebeschleunigung mit E10s ist leider nicht mehr bei mir, sonst gibt es Grafiksalat beim scrollen. Das ist gerade bei einer älteren CPU ein Problem…
Das ist schonmal eine gute Nachricht, die hoffen lässt. 🙂
Das wiederum ist keine so schöne Nachricht, weil Hardwarebeschleunigung auch viel ausmachen kann. Gibt es keinen neueren Treiber, mit dem man es versuchen könnte? Ansonsten ist es vielleicht auch ein Bugzilla-Ticket wert, vielleicht gibt es ja ein Problem, um welches es sich herumarbeiten lässt.
Für ein Notebook mit Core2Duo? Neue Treiber? Von AMD gabs den letzten legacy Treiber 2010…da kommt nichts mehr.
Hatte schon einen Bug deswegen eröffnet deswegen https://bugzilla.mozilla.org/show_bug.cgi?id=1095781 aber die wollen nichts machen. Der Bug wurde auch umbenannt wegen etwas anderem was noch nebenbei ans Licht kam und mein Problem ist damit auch gleich gecleant worden. Saubere Sache das.
Mein workaround mit layers.componentalpha.enabled auf false setzen wurde mit Bug 1105088 ausser Gefecht gesetzt. Jetzt muss man layers.prefer-d3d9 auf true setzten um bei OS > Win XP HWA zu bekommen.
Problem: sobald d3d9 auf true ist geht componentalpha auch nicht mehr. Hinter dem d3d9 Schalter müssen noch mehr Sachen betan werden. Entweder baue ich mir jetzt meinen eigenen Firefox damit ich den d3d9 switch nicht mehr brauche oder ich verweigere E10s so lange es geht oder ich brauche neue Hardware…du siehst selbst wenn man die Lösung auf dem Silbertablet serviert sie wollen nicht. Naja wer weiß vielleicht funktioniert die Lösung ja inzwischen auch gar nicht mehr. Ist ja schon wieder fast ein Jahr her.
Ich weiß nicht, was du mit "du siehst selbst wenn man die Lösung auf dem Silbertablet serviert sie wollen nicht" meinst, denn im genannten Bugzilla-Ticket sehe ich keine Lösung. Eine Lösung müsste ja die Form eines Patches haben.
Ich denke, nach sieben Monaten kann man in dem Ticket nochmal freundlich nachfragen, wie Mozilla plant, damit umzugehen, und was man dir rät, zu machen.
Denn es ist ja auch vollkommen klar, dass man e10s nicht für immer deaktivieren können wird. Sicher schon noch einige Zeit, aber irgendwann nicht mehr und im Optimalfall braucht es voher eine Lösung, wie auch immer diese aussieht.
Naja die haben ja geschrieben warum: "reduce the number of default configurations we ship"…mit dieser Massnahme wird man halt gezwungen den d3d9 Schalter manuell zu setzen. Nur daß der Schalter noch ein paar Seiteneffekte hat.
Die Lösung wäre Backout von Bug 1105088 und der Einbau eines separaten Schalters, um die default shipment of configuarions Geschichte zu gewährleisten. Das würde ich auch hinbekommen. Es wird dann nur wieder 100 Gründe geben, warum das nicht gewollt ist.
Hab mir gerade die repo geclont und werde die Woche mal wieder ein eigenes Build machen und mal schauen ob es mit einem heutigen Nightly überhaupt noch so funktioniert wie letztes Jahr November. Meine letzten Builds sind auch schon 5 Jahre her, bin schon gespannt, wie das jetzt alles so rennt. Die repo hat doch einiges an Umfang zugelegt.
Wenn der Workaround noch so funktioniert, werde ich da mal wieder einen Kommentar dort hinterlassen. Mal schauen, ob sich nochmal jemand darüber auslässt…aber es wird wohl einfacher sein, einfach neue Hardware anzuschaffen.
Richtig, es wird Gründe dafür geben, also ist das auch keine Lösung. Patches landen nämlich nicht ohne Gründe. Und Firefox muss vollkommen ohne das Umstellen von Schaltern in der Standardkonfiguration funktionieren. Das Ändern solcher Schalter ist ausschließlich hilfreich, um ein Problem eingrenzen zu können, das löst aber keine Probleme, man wählt nur einen anderen Weg in der Hoffnung, dass dieser Weg keine Probleme hat.
So das test build ist fertig. Musste ein bischen suchen da der fragliche Code inzwischen in eine andere Datei umgezogen war. Nachdem ich das so geändert habe, daß der d3d9 switch nicht mehr nötig ist kann man auch unter E10s wieder HWA nutzen ohne Artefakte. Sobald ich den d3d9 switch auf true setzte gibts wieder Graphiksalat. Also zunächst alles so wie erwartet und letztes Jahr beobachtet.
Kleine Frage so neben bei. Mich stört, dass man mittlerweile auf vielen Webseiten bsp. Startpage.com den Zurück knopf nicht mehr brauchen kann, da immer eine "Dokument erloschen" meldung kommt. Bessert sich das in neueren Versionen? Unter dem Internet Explorer funktioniert das zurück ohne Probleme.
Das Verhalten von Firefox ist kein Fehler, sondern ein Sicherheits-Feature. Da gibt es nichts, was sich "bessern" könnte, es ist bereits das von Mozilla gewünschte Verhalten.
Hab jetzt mal die letzten 12 Tage am Stück getestet wie E10s so läuft in meinem Hauptprofil. Auf den ersten Blick sieht der Speicherverbrauch sehr erfreulich aus. Liegt bei mir immer so zwischen 550-650 MB auch nach längerer Zeit. Trotzdem wird der Firefox nach längerer Surfzeit immer langsamer, gut zu sehen am Thobber der kommt wenn man zwischen den Tabs umschaltet oder wenn man das Hamburger Menu aufmacht ist es etwas ruckelig. CPU Last ist auch mit im Spiel. Ich sehe dann auch das so 500MB Systemspeicher irgendwo fehlen und trotzdem nicht dem Firefox Prozess zugeordnet sind, nach Neustart des Firefox wieder verfügbar, vermutlich sammelt sich da sehr viel im unclassified heap, was dann wohl auch nicht mehr freigegeben wird. Addons kann man da wohl auch nicht ausschliessen, weil das läuft hier jetzt alles in meinem Hauptprofil.
Wenn mal ein Tab hängt beim laden und man schaltet auf einen anderen Tab um kann es auch schon mal etwas länger dauern. Ich hab hier auch eine Seite Notebookcheck.com mit einem testbericht zu einem Notebook um das Verhalten zu reproduzieren. Zumindest sieht man generell das die Ladezeiten von Webseiten in E10s reproduzierbar länger dauern warum auch immer. Bei der eben genannten Seite lädt der Firefox zum Beispiel in meinem Addonfreien Testprofil im nicht E10s Modus die seite in 10-12 Sekunden bis komplett fertig. In e10s einmal in 25, 30 und einmal in 60 Sekunden. Selbst der beste Wert im e10s sind immer noch Welten und sobald man wieder auf nicht E10s geht, ist es sofort wieder schnell. Vielleicht haben I7 Besitzer ja weniger Probleme. Am besten läuft alles in einem frisch gestarteten Firefox. Ich schau mir das in ein paar Monaten nochmal an.
Update: In der Betaphase von Firefox 45 soll das Telemetrie-Experiment auf 50 Prozent der Nutzer mit aktiviertem e10s ausgeweitet werden.