Firefox 54 marque une étape majeure dans la vie du navigateur. Le multiprocessus est maintenant généralisé à l’ensemble des versions pour Linux, macOS et Windows. Un pas de plus vers le renouvellement plus complet de Quantum.
Mozilla avait promis que l’année 2017 serait la plus importante pour son navigateur depuis sa création. On sait qu’elle devrait se clôturer avec l’arrivée de son nouveau moteur de rendu, Quantum, qui embarque une série d’améliorations provenant du projet Servo. Plusieurs parties seront ainsi rédigées directement en Rust, un langage de Mozilla pensé pour gommer certains défauts du C.
Mais avant même de songer à Quantum, il fallait que Firefox en finisse avec le projet Electrolysis, visant à séparer l'application en plusieurs processus. Un long chemin qui touche au but, même s’il s’agit surtout pour l’éditeur de rattraper une concurrence très en avance dans ce domaine.
Ne l’appelez plus arlésienne
Electrolysis est un nom utilisé depuis de nombreuses années par Mozilla. Il désignait initialement le projet visant à isoler les onglets du reste du navigateur. Ce découpage existe en fait depuis plusieurs mois, mais pas pour tout le monde. Il fallait notamment contrôler le comportement des extensions.
Avec Firefox 54, deux changements importants sont à noter. Tout d’abord, l’utilisation d’Electrolysis ne dépend plus d’aucune condition : il est actif partout, quels que soient le système d’exploitation et les extensions présentes. Ensuite, et c’est sans doute le plus important, le nombre de processus passe de deux à quatre.
On retrouve donc toujours un processus dévolu entièrement à l’interface, trois étant désormais consacrés aux onglets. Ils sont en charge du rendu et des calculs de scripts notamment. La différence de réactivité est très nettement perceptible, surtout lors du chargement de pages lourdes comme Facebook ou Twitter.
Notez que même s’il s’agit d’un changement majeur pour Firefox, les processus multiples sont loin d’être une nouveauté dans le domaine des navigateurs. Chrome, Edge, Opera et Safari créent soit un processus pour chaque onglet, soit pour chaque domaine actif. Mozilla le sait bien, et le choix de quatre processus est selon l’éditeur le bon compromis entre performances brutes et consommation de mémoire vive.
Ne pas sombrer dans un appétit gargantuesque en RAM
Pour prouver ses dires, l’éditeur a publié les résultats de plusieurs tests, visant surtout à charger 30 pages en mesurant parallèlement la consommation de mémoire vive pour l’ensemble des onglets qui s’ouvrent alors. Les tests ont été réalisés sous Windows 10, macOS et Ubuntu 16.04 et Firefox s’est retrouvé moins gourmand que Chrome, Edge ou Safari.
Cela étant, non seulement les résultats sont « normaux », mais il faut les prendre avec quelques pincettes : la consommation de mémoire ne fait pas tout. Elle grimpe invariablement en fonction du nombre d’onglets, et si Chrome et Edge en créent un pour chaque page chargée indépendamment, la quantité de RAM nécessaire va grimper d’autant.
En fait, l’explication tient surtout au modèle de sécurité adopté par les navigateurs récents : ils créent une sandbox pour chaque processus, c’est-à-dire un espace mémoire isolé. Il y a donc répétition d’un certain nombre de composants, un aspect obligatoire pour couper toute communication potentiellement dangereuse entre les onglets ouverts. Ce qui expliquerait pourquoi la consommation de Firefox est inférieure. Nous cherchons cependant à en savoir davantage sur le sujet et reviendrons dessus le cas échéant.
Le long chemin vers Quantum... au détriment du reste ?
Dans tous les cas, les utilisateurs noteront sans peine l’amélioration générale des performances, qui se ressent surtout en termes de réactivité pendant le chargement des pages. L’avantage des processus multiples est en effet que les différents cœurs des processeurs peuvent être utilisés simultanément en répartissant les calculs, ce que les onglets de Firefox ne faisaient pas jusqu’à présent.
L’aboutissement de ces travaux est également une étape majeure vers Quantum, car le nouveau moteur de rendu sera l’occasion pour Mozilla de revoir entièrement l’architecture de son navigateur. L’éditeur l’indique à nouveau d’ailleurs dans son billet de blog sur la version 54 : il veut faire de Firefox le navigateur le plus rapide et le plus réactif, aussi bien sur ordinateur que sur les plateformes mobiles. Un objectif que nous surveillerons évidemment de près.
Mozilla devra aussi faire attention à ne pas oublier les autres aspects d'un navigateur, notamment les questions de respect de la vie privée. Car bien qu'ayant énormément communiqué sur le sujet il y a quelques temps et revu la navigation privée de Firefox, les choses ont peu évolué depuis.
Ce, alors que Google va bloquer certaines publicités gênantes ou nuisibles dans Chrome et qu'Apple introduit un nouveau dispositif de blocage des média en lecture automatique ou d'isolation plus fine des cookies dans Safari.
Le reste des améliorations dans Firefox 54
Bien que la généralisation du multiprocessus soit l’élément le plus important, Firefox 54 comporte également quelques autres apports, mais assez mineurs. Par exemple, une révision du panneau de téléchargement pour rendre son affichage plus clair. Dans les versions mobiles, les marque-pages spécifiques ont été déplacés dans le menu général qui leur est consacré. Comme toujours, Firefox 54 en profite pour corriger plusieurs vulnérabilités, dont trois critiques.
La récupération de la nouvelle version peut se faire dans le navigateur depuis l’à propos. Ceux qui préfèrent télécharger l’installeur pourront le faire depuis la page officielle.