PDA

Voir la version complète : un moteur de rendu de nouvelle génération dans Firefox



Lako
30/10/2016, 13h58
La fondation Mozilla veut s’appuyer sur la programmation parallèle pour booster les performances de son navigateur web. Une première version devrait être lancée en 2017.Alors qu'une version plus performante de Firefox, basée sur l4ARCHITECTURE eLECTROLYSIS , est en train d'arriver sur nos ordinateurs, Mozilla planifie déjà l'étape d'après. Et celle-ci s'appelle Quantum. Ce projet veut pousser la philosophie d'Electrolysis jusqu'au bout. Pour rappel, cette architecture technique permet de subdiviser le processus du navigateur en plusieurs sous-processus, chacun prenant en charge une ou plusieurs pages web. Cette répartition des tâches permet de gagner sensiblement en performance.
L'objectif du projet Quantum est de remplacer l’actuel moteur de rendu Gecko par un moteur de rendu de « nouvelle génération ». Celui-ci serait capable de faire tourner un maximum de ses modules logiciels en mode de calcul parallèle, que ce soit en s'appuyant sur les multiples cœurs du processeur ou sur les capacités de la puce graphique d'un PC. Bref, l'idée est de mettre du calcul parallèle à tous les étages pour augmenter encore davantage la performance d’affichage et ainsi améliorer l’expérience utilisateur.
Profiter des avancées matérielles« Les navigateurs sont apparus dans l’ère du PC. Ces premiers ordinateurs ne disposaient que d’un processeur monocœur (…) Ils ne pouvaient donc faire qu’une seule chose à la fois. Et même aujourd’hui, la plupart des navigateurs font encore tourner une page web dans un seul fil d’exécution (thread) sur un seul cœur de calcul. Mais aujourd’hui, nous surfons sur le web avec des téléphones, des tablettes et des ordinateurs portables qui ont des processeurs beaucoup plus sophistiqués », explique David Bryant, responsable Platform Engineering chez Mozilla.
Pour créer son nouveau moteur de rendu, Mozilla compte surtout piocher dans le projet expérimental Servo, dont le but est justement de créer un navigateur basé sur la programmation parallèle. Ainsi, le module CSS de Gecko (en charge de la gestion des feuilles de style) sera remplacé par le module CSS de Servo, dont le code est d’ores et déjà fortement parallélisé. Idem pour le module de rendu graphique (WebRender) qui s’appuie sur les capacités de calcul parallèle des GPU.
Gestion des pages par multithreadingLe module de gestion des pages web, quant à lui, provient visiblement d’un développement nouveau. Baptisé Quantum DOM, il ne va pas répartir les pages dans différents processus comme Electrolysis, mais dans différents fils d’exécution de processus (threads). Ceci a pour avantage de ne pas générer une inflation de l’usage de la mémoire, comme c’est le cas lorsqu’on multiplie les processus.
En revanche, le multithreading contraint à une gestion fine des ressources mémoire partagées, pour éviter que tout se termine en chaos. C’est donc plus complexe à faire.
Théoriquement, les utilisateurs Firefox ne devraient pas attendre trop longtemps pour expérimenter ce nouveau moteur de rendu. Mozilla pense pouvoir diffuser les premières versions en 2017, pour Android, Windows, Mac et Linux. « Un jour, nous espérons pouvoir le proposer sur iOS aussi », ajoute David Bryant. Ça, en revanche, c’est loin d’être gagné.
By Gilbrt Kallenborn

Lako
08/01/2017, 14h45
Dans quelques mois, Firefox "changera de moteur en plein vol"Vers mi-2017, les feuilles de style CSS seront gérées par le nouveau moteur de rendu Quantum qui promet une bien meilleure performance que Gecko, la technologie actuelle.Le compte à rebours est lancé. En 2017, le navigateur Firefox va migrer son moteur de rendu vieillissant Gecko vers une technologie de nouvelle génération, basée sur la programmation parallèle. Ce projet de migration, baptisé Quantum (http://www.01net.com/actualites/bientot-un-moteur-de-rendu-de-nouvelle-generation-dans-firefox-1053359.html), se déroulera de façon très progressive pour que les utilisateurs soient le moins gêné possible. "C'est comme essayer de remplacer le moteur d'un avion alors qu'il est en plein vol", souligne Jen Simmons, experte en design chez Mozilla.
L'une des parties importantes du projet Quantum s'appelle Quantum Style et se concentre sur la transition entre deux moteurs de rendu des CSS, en charge de la gestion des feuilles de styles.
Dans les mois à venir, Firefox en intégrera deux: Gecko et Servo, un moteur de rendu expérimental sur lequel Quantum s'appuie en partie.
En fonction des besoins de l'utilisateur, Firefox utilisera celui qui est le plus performant. "Vers la mi-2017, toutes les feuilles de styles CSS seront construites avec Quantum, et plus avec Gecko", souligne Jen Simmons.
D'autres modules seront remplacés progressivement, comme le rendu graphique (Quantum Render) et la gestion des pages Web (Quantum DOM). Le premier s'appuiera sur les capacités de calcul parallèle des GPU pour accélérer l'affichage. Le second va répartir les pages dans des fils d'exécution parallèles (threads) afin de gagner en performance. Et quand ce travail de titan sera terminé, l'utilisateur devrait être aux anges, car "les sites Web se chargeront hyper rapidement. Hyper. Rapidement", ajoute Jen Simmons. Voilà une excellente résolution pour cette nouvelle année, qui vient parachever plusieurs années d'effort pour refonder le navigateur open source.
Dès le 24 janvier prochaine, Firefox 51 devrait offrir un saut important en termes de rapidité, grâce au multiprocessing. 2017 pourrait être une grande année pour Firefox.
By Note de blog de Jen Simmons