Firefox : le multiprocessus Electrolysis monte doucement en puissance
Un fonctionnement par défaut début 2017
Le 08 septembre 2016 à 08h30
3 min
Logiciel
Logiciel
Mozilla augmente actuellement le nombre d’utilisateurs pouvant accéder à Electrolysis, le mode multiprocessus de Firefox. Du petit pourcent originel, on passe ainsi à 10 %. La route est pourtant encore longue avant que tout le monde puisse en profiter.
Electrolysis, ou E10 s, est un projet de longue haleine chez Mozilla, qui vise à modifier le cœur de Firefox pour le séparer essentiellement en deux processus, l’un consacré au rendu, l’autre à tout le reste. Contrairement à Chrome ou à Edge par exemple, Firefox effectue tous ses calculs au sein du même processus. Si le chargement d’une page devient exigeant en puissance de calcul (nombreux éléments multimédias, scripts, etc.), la fluidité de l’interface peut en être affectée.
Le changement n’est pourtant pas simple à mettre en place, les développeurs y travaillant partiellement depuis des années. Un premier lancement a eu lieu, mais sous forme de test : 1 % seulement des utilisateurs en dispose par défaut, et uniquement si aucune extension n’en empêche le fonctionnement. Les add-ons sont en effet en grande majorité incompatibles avec Electrolysis et doivent être modifiés en conséquence.
100 % de la population « idéale » d'ici quelques semaines
Cette semaine, le chiffre grimpe doucement pour atteindre 10 % des utilisateurs, toujours dans les mêmes conditions. Si vous utilisez un ordinateur classique (sans écran tactile), sur un système récent (donc pas Windows XP) et que vous n’avez aucune extension, vous êtes dans la population « idéale » visée par Mozilla actuellement. Un groupe qui représente tout de même 40 à 50 % de l’ensemble des utilisateurs. Au cours des prochaines semaines, le chiffre passera de 10 à 100 %.
Le directeur de Firefox, Asa Dotzler, a indiqué à TechCrunch que tout se passait bien jusqu’à présent. D’après les statistiques renvoyées, la réactivité de l’interface est jusqu’à 400 % supérieure, voire 700 % durant le chargement des pages web. Attention, on parle bien de réactivité et de non de performances brutes. On le sentira donc dans les mouvements de la souris, au temps de réaction quand on clique sur un bouton du navigateur, etc.
Notez que cette phase concerne toujours l’actuelle version 48 de Firefox. Dès la 49, prévue pour le 13 septembre, Electrolysis sera activé chez les utilisateurs d’un petit nombre d’extensions dont la compatibilité a été vérifiée. Les versions 50 et 51 (8 novembre et 24 janvier) prendront en charge un nombre plus important d’extensions tout en mettant en place une sandbox. Un élément important puisque chacune disposera alors de son propre espace mémoire isolé des autres. Mozilla a d’ailleurs publié hier soir un billet invitant les développeurs à s’attaquer au problème, notamment via Add-on Compatibility Reporter, ou en basculant vers les WebExtensions.
Pas de processus par onglet prévu à ce jour
Idéalement, Electrolysis doit devenir le mode de fonctionnement par défaut de Firefox début 2017, tout du moins pour les nouvelles installations. Les utilisateurs personnalisent parfois largement leur navigateur, ce qui était après tout l’intérêt premier de Firefox.
Electrolysis ne va toutefois pas aussi loin que ce que font Chrome, Edge et Opera sur le terrain des processus multiples. Dans ces navigateurs, chaque onglet dispose du sien propre. Les avantages sont multiples, particulièrement sur des machines disposant de plusieurs cœurs d’exécution : réactivité, sécurité et fiabilité. Mozilla n’a pour le moment aucun plan de ce genre, mais la situation pourrait évoluer, comme toujours.
Firefox : le multiprocessus Electrolysis monte doucement en puissance
-
100 % de la population « idéale » d'ici quelques semaines
-
Pas de processus par onglet prévu à ce jour
Commentaires (69)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 08/09/2016 à 08h38
Aucun de mes scripts n’est compatible
Même Greasemonkey le désactive
Le 08/09/2016 à 08h40
Si vous utilisez un ordinateur classique (sans écran tactile), sur un système récent (donc pas Windows XP) et que vous n’avez aucune extension, vous êtes dans la population « idéale » visée par Mozilla actuellement.
Quelqu’un connaît une personne de son entourage ayant un firefox sans la moindre extension ?
Le 08/09/2016 à 08h40
Je viens de trouver cette page pour activer sur son Firefox 48.0.2 " />
Suivre le lien ici
Pour les paresseux about:config :
browser.tabs.remote.autostart=true
browser.tabs.remote.force-enable=true
extensions.e10sBlockedByAddons=false
extensions.e10sBlocksEnabling=false
Et on a bien dans about:support : Fenêtres multi-processus 1⁄1 (Activé par l’utilisateur)
Le 08/09/2016 à 08h41
Ma mère " />
Le 08/09/2016 à 08h43
La mienne utilise Opera. " />
Le 08/09/2016 à 08h44
Merci pour ce billet fort intéressant.
On voit bien l’avantage d’avoir un processus par onglet, mais y’a-t-il des inconvénients (et lesquels) ?
Le 08/09/2016 à 08h44
La consommation de mémoire vive
Le 08/09/2016 à 08h45
J’attends de voir si Electrolysis va améliorer les perf de Firefox avec Jira. Actuellement, il freeze à mort dès que le backlog est un peu chargé.
Le 09/09/2016 à 05h26
Le 09/09/2016 à 06h41
Ton PC swap peut-être trop vite
Le 09/09/2016 à 08h07
Dans ce cas c’est peut être pas le navigateur qui consome beaucoup de RAM mais GMAIL ?
Il ne faut pas oublier qu’un navigateur moderne est surtout une plateforme ou les sites font tourner des programmes, parfois complexes comme GMAIL, parfois tres simple (comme le site de l’association de pétanque du quartier) et c’est souvent ces programmes, mal écrits qui consoment énormément de RAM (mon record était un script mal codé qui consomait 1Go de RAM et qui apres reériture consomaint plus que 30mo)
Le 09/09/2016 à 09h11
Sauf que chrome consomme énormément, il est juste inutilisable en navigateur principal pour ceux qui utilisent beaucoup d’onglets. J’avais d’ailleurs très peur que Firefox prenne ce chemin, mais l’augmentation de la conso mémoire du multi process semble contenue.
Et ne sous-estime pas le site de l’association de pétanque du quartier et la lourdeur lourdesque du script de “simulation de neige” encore présent en mai ou les images du menu faisant chacune plusieurs 10aines voire 100aines de Ko :)
Le 09/09/2016 à 11h16
C’est un nombre de processus qui seront exécutés et qui vont se voir répartis l’exécution du code des tabs. Tu en met autant que tu veux :). J’ai pas regardé s’il y a des gens qui ont cherché le meilleur ratio perf/process. Perso j’en ai 16 (sur une machine avec 4 CPUs, i7 5600U).
Le 09/09/2016 à 13h11
Apparemment il y a un topic recensant les problèmes du passage à Gtk3 pour Firefox sous Manjaro Gnome, je n’avais jamais cherché, en même temps mon problème bien qu’assez chiant est mineure, j’ai fini par m’y habituer. Je vais voir.
Le 09/09/2016 à 14h34
Pas mal de truc, uBlock, Ghostery, Tab mix plus, Keefox…
 https://arewee10syet.com/ Pour savoir si une extension est compatible ou non :)
Le 09/09/2016 à 14h59
Firefox dépasse rarement 2Go (jamais ? ) et le CPU respire alors Chromium et dérivé vous défonce le CPU car même si le multitache est présent, j’ai remarqué que plus il y avait de tache ouverte, même sur les grosses machine, moins le processeur était réactif et cela tuais le multi tache, alors que la ram…
Après c’est mon avis ^^
Le 09/09/2016 à 23h28
C’est pas ce que me dit about:addons-memory
C’est nawak ce que tu racontes ou provient d’une mauvaise expérience qui date d’une vieille version ou avec script trop lourd ou mal optimisé.
Le 09/09/2016 à 23h35
Un bloqueur de pub, c’est le minimum quand même, ne serait-ce que pour éviter les script malveillants les plus communs qui pourraient faire bobo à maman. Tu as une confiance absolue en maman ou dans les grands esprits de l’informatique ou alors tu l’as bien coachée pour ne pas qu’elle se fasse avoir en cliquant là où il ne fallait pas.
Comme j’ai pas envie de faire de service dépannage ou recueillir des plaintes, j’ai ajouté ce qu’il faut à firefox et ça roule bien comme ça depuis presque 10 ans " />
Le 14/09/2016 à 10h42
Le 14/09/2016 à 11h00
Firefox s’adapte en fonction de la configuration du pc ;) Selon Mozilla, de la mémoire non utilisé est de la mémoire inutile, donc autant l’utiliser ;)
Le 14/09/2016 à 13h10
On ne doit pas avoir la même définition de inutilisée " />.
Le 08/09/2016 à 08h48
-Electrolysis est un nouveau projet il amène donc aussi une perte de stabilité.
-Comme l’a dit vincent ça augment la consomation de RAM
-Incompatibilité avec certain add-on (mais si il y a un probleme regarde les bugtracker, il y a souvent des tickets ouverts et/ou corrigés)
Le 08/09/2016 à 08h51
Même pas un bloqueur de pub ? " />
Le 08/09/2016 à 08h52
Est-ce que Mozilla a publié un calendrier théorique concernant la montée en compatibilité avec les addons ? Parce que comme tout le monde, ou presque, j’ai des extensions ; au nombre de 10, dont 5 me sont résolument indispensables.
Je suppose que ça va être à la charge des développeurs/éditeurs de mettre à jour chaque extension, mais il faudrait que Mozilla adopte une politique fortement incitante à ce sujet.
Sans ça, c’est un coup d’épée dans l’eau.
Le 08/09/2016 à 08h58
Euh ouais, moi. Mais j’ai une astuce : en fait j’utilise Chrome. " />
Le 08/09/2016 à 08h59
Pas de processus par onglet prévu à ce jour
Ça aurait été bien de développer ce point. J’ai toujours pensé que Electrolysis était un truc à la Chrome…
Le 08/09/2016 à 08h59
Perso j’ai forcé l’activation pour tester, et je dois dire que je ressens vraiment la différence.
Tout est globalement plus fluide, du démarrage de l’application, au chargement des pages.
Et j’ai de la chance, toutes mes extensions sont compatibles, j’ai aucun souci !
Le 08/09/2016 à 09h05
Rien du tout
Le 08/09/2016 à 09h06
Du tout, et tous les papiers que j’ai publiés sur le sujet le disaient clairement : deux processus, un pour le moteur de rendu, l’autre pour le reste. La situation changera avec la sandbox, puisqu’on aura un processus supplémentaire par extension.
Le 08/09/2016 à 09h09
Mozilla n’a en aucune façon de responsabilité sur l’adaptation des add-ons sur les nouvelles versions et technologies, si certains add-ons te posent problème sur les versions récentes tu dois te tourner vers les développeurs en question s’il n’ont pas arrêté le projet.
Et Mozilla communique largement suffisamment envers les devs sur les nouvelles features et grâces aux multiples canaux de FireFox, Beta, Aurora et même une version de Firefox spéciale pour les devs, ils ont largement de quoi prendre de l’avance sur les versions stables. ;)
Le 08/09/2016 à 09h16
Quelque part, si, ils ont des moyens d’action. Les extensions se trouvant sur le “store” mozilla sont soumises à une validation/CGU. Il peuvent très bien inciter fortement les éditeurs à migrer s’ils veulent garder leur place. A la manière d’Apple qui, après avoir laissé une période d’adaptation incitative, à fini par forcer la main aux éditeurs pour converger vers 100% d’applications 64-bits native. Ou un peu à la manière de Microsoft avec les applications compilées spécifiquement (j’ai oublié le nom). [pas taper sur la comparaison Mozilla Apple/M$ " /> c’était juste pour l’idée]
Bref, ce genre de méthode me semble adaptée: une fois que leur calendrier des 100% des “utilisateurs idéaux” seront migrés, et après les quelques cycles de débug, quand ils estimeront la technologie stable et mature, en utilisation basique, ils peuvent très bien dire : “dans 6 mois, toutes les extensions doivent être compatibles, sinon elles seront retirées du store, et il faudra une bidouille dans about:config pour pouvoir les utiliser encore passé ce délai”.
Le 08/09/2016 à 09h25
Tu regarderas la différence de budget entre Firefox et Apple/Microsoft et si tu crois que Firefox à des ressources humaines à gaspiller pour ce genre de conneries c’est toi qui voit mais c’est juste inenvisageable de demander à une fondation, qui manque déjà de devs pour amener les nouvelles features rapidement, de s’occuper de trier des add-ons pour des devs paresseux ou qui abandonnent leurs projets …
Le 08/09/2016 à 09h29
Greasemonkey est une cochonnerie sans nom aussi, qui te bouffe un max de RAM.
Le 08/09/2016 à 09h37
Comment monter à 100% si les extensions bloquent ? Ils arriveront à 50% (si c’est bien la population avec 0 extension), mais le reste semble compromis, non ?
Le 08/09/2016 à 09h40
Merci ! <3
Le 08/09/2016 à 09h41
C’est quand même sensé être le fer de lance de firefox, les extensions.
Les devs paresseux ne vont pas passer leur vie à maintenir leurs extensions. Tu fais un truc qui marche au poil, si 5 ans après il ne marche plus, il est probable que t’ai un peu autre chose à faire que de t’y replonger…
En réalité, je pense qu’on ne peut ni demander à mozilla (car effectivement trop coûteux) ni vraiment compter sur les auteurs.
Le 08/09/2016 à 09h44
Dans ce cas, ton extension tombe aux oubliettes et un autre viendra le remplacer…
Le 08/09/2016 à 09h45
Si tu es dev et que tu penses qu’une application peut tourner 5 ans sur une plateforme en constante évolution sans avoir besoin d’optimisation constante également, il faut urgemment changer de métier !
Le 08/09/2016 à 10h05
Le 08/09/2016 à 10h18
Le 08/09/2016 à 10h19
Le 08/09/2016 à 10h26
Dites, un peu HS, mais j’ai des bugs d’affichage depuis le passage à gtk3. Entre autre, le menu clic-droit s’affiche bizarrement si je ne bouge pas la souris (le haut du menu est entièrement noir, comme s’il n’était pas achevé d’être dessiné, si je fais un “mouseover” la boite devient instantanément normale) ; les vidéos html5 ne s’affichent pas totalement en pleine écran, il reste un “vide” à droite de la largeur d’un scroll vertical.
Ce sont des bugs reconnus, ou bien ?
Merci.
Le 08/09/2016 à 11h07
Toutafay ! A un moment donné, on est obligé de faire le compromis entre RAM utilisé et performance.
Le 08/09/2016 à 11h35
Je n’ai jamais émis l’idée que Mozilla dépenserait le moindre sou pour faire l’adaptation eux-même, tu n’as pas bien lu mon commentaire. Néanmoins comme l’on t’a déjà répondu, les extensions, c’est un des chevaux de bataille de Firefox. Certes ça se démocratise un peu ces dernières années dans les autres navigateur, mais ça reste “empirique” pour Firefox. Ils ont du mal à garder leurs parts de marché, c’est dans leur propre intérêt de faire en sorte que les extensions restent accessibles.
Le 08/09/2016 à 11h54
Malgré ses multiples processus, Edge freez souvent sur les grosses pages.
Bon… J’ai souvent une trentaine d’onglets ouverts et ce n’est pas une installation propre, ça peut jouer ^^
Le 08/09/2016 à 11h58
En effet. Par contre il existe quand même un (début de) plan pour plusieurs processus pour le rendu des pages web :https://wiki.mozilla.org/Electrolysis/Multiple_content_processes
De ce que j’ai lu récemment, l’idée est à moyen termes d’avoir une limite max de nombre de processus afin d’éviter une conso trop importante, chaque processus pouvant alors s’occuper de plusieurs onglets
Le 08/09/2016 à 12h03
Tu as quelles extensions d’installées ?
Le 08/09/2016 à 12h13
Le 08/09/2016 à 12h22
Le 08/09/2016 à 12h28
Perso je choisis RAM, car je préfère conserver le multi tache ^^
Le 08/09/2016 à 12h30
Le 08/09/2016 à 12h30
Le 08/09/2016 à 12h36
je suis dev web, mais je ne comprends pas pourquoi les extensions ne sont pas compatibles.
Problème d’accès à des ressources mémoire qui ne sont plus dispo?
Les extensions incompatibles…. attention Firefox c’est un de vos atouts…
Je suis impatient de voir les changements… dommage pour le multiprocessus par onglet qui n’est pas là…
Le 08/09/2016 à 12h37
j’en ai 8, mais avec un outil de dev derrière à 500Mo, virtualbox (et un jeu par navigateur plus quelques extensions qui font monter à 1.5Go) je suis trop proche de la limite ^^ (enfin il me reste 4Go mais couplé avec l’antivirus et un éventuel jeu vidéo… x) )
Je vais attendre alors :p
Le 08/09/2016 à 12h45
Le 08/09/2016 à 12h50
Oui je surveille de près, j’en parlerai quand les choses se seront un peu précisées de ce côté dans plusieurs mois
Le 08/09/2016 à 12h58
ah? je vais tester..
Le 08/09/2016 à 14h10
Ça fait longtemps qu’on peut avoir plus d’un seul content process, par contre c’est pas supporté. On peut modifier dom.ipc.processCount, mais je déconseille de le faire sur des profils de personnes qui ne sont pas prêtes à identifier/rapporter des bugs.
Les lecteurs qui veulent le faire devraient le faire sur un Nightly [ https://nightly.mozfr.org/ ]. Pour ma part ça fait plusieurs mois que je tourne avec, et on sent quand même une amélioration, une page ne bloque plus tout :)
Le 08/09/2016 à 14h13
Notez qu’en pratique le seul truc que j’ai vu pété avec dom.ipc.processCount > 1 c’était view-source: et c’est corrigé :)
Le 08/09/2016 à 14h56
" />
Le 08/09/2016 à 15h10
Elle devrais installer au moins µblock origin
Le 08/09/2016 à 16h32
Ah merci.
Je ne connaissais pas celle-là.
Quel est le nombre idéal ?
Je vois certains qui montent à 10, d’autres 4.
1 par coeur de processeur ?
Le 08/09/2016 à 16h47
En fait, les problèmes inhérents à tout logiciel multiprocessus (et c’est pour ça que “peu” de logiciels le sont) :
* Quand un processus (UI, etc) demande quelque chose à un autre processus (est-ce que la page est complètement chargée ?), il faut attendre que le processus ciblé soit disponible (quelques microsecondes, mais quand c’est plein de fois par seconde c’est pas négligeable)
* Quand plusieurs processus veulent accéder à une même ressource (variable, certaines fonctions), ils doivent faire la queue pour qu’il n’y ait pas d’incohérence (on utilise pour ça des mutex, sémaphores, etc).
En fait, si un logiciel plante inopinément, 70% du cas ce sera un logiciel multithread avec des problèmes d’accès concurrentiels.
En plus bien sûr de l’augmentation de la RAM.
Donc avec 4 coeurs et 4 threads, la plupart du temps ton logiciel ira 3 fois plus vite seulement à cause de cet “overhead” dû au multithreading.
D’où le passage “pas anodin” à Electrolysis, et le passage en douceur que Mozilla entreprend.
Le 08/09/2016 à 16h48
Ça fait bien partie des bugs que je n’ai jamais vus… Quelle distro, quelle version de GTK+3 ?
Le 08/09/2016 à 16h51
Le 08/09/2016 à 16h54
Le 08/09/2016 à 18h15
Manjaro version Gnome 3.20, Firefox 48.0.2. J’y ai installé ce thème là : GitHubmais je crois qu’en changeant de thème ça ne change rien au problème (il me semble). Le bug du clic-droit n’est pas systématique, il se reproduit par exemple si on fait une nouvelle sélection.
Le 08/09/2016 à 22h25
Après plusieurs semaines d’utilisation de cette fameuse fonctionnalité, mon avis est que c’est plutôt pas mal pour avoir en effet une interface plus réactive. Dit autrement, les sites de merde bourrés de JavaScript ne bloquent plus le navigateur. En cela, l’utilisation de bloqueurs de publicité (sauf sur NXI :-) ) reste indispensable.
Parmi tous les processus qui sont lancés pour les onglets, il y en a toujours un qui consomme plus que les autres. Il s’agit du processus parent à tous les onglets. C’est très dommage.
Pour les onglets qu’on ouvre et ferme, la mémoire correspondante est bien libérée et on est sur le même schéma appréciable de Chrome.
Attendons les améliorations à venir, il reste du boulot.
Le 09/09/2016 à 04h59
Ça peut valoir le coup de reporter le bug sur le bugzilla de ta distro et voir si c’est un bug upstream ou pas.