Le projet Quantum de Mozilla est un nouveau moteur pour Firefox
Il y a quelques jours, Mozilla a présenté son nouveau projet, "Quantum", qui vise à fournir un nouveau moteur, notablement amélioré, pour le navigateur Firefox. Il sera basé sur Gecko et devrait apporter de nombreuses améliorations aux performances de Gecko, grâce à une augmentation concurrence et parallélisme, une latence réduite et une meilleure fiabilité fournie par le langage de code Rust et ses caractéristiques.
Quantum est grossièrement divisé en quatre projets distincts.
Le projet Quantum CSS remplacera le moteur CSS de Gecko par celui de Servo. Servo est le remplacement à long terme de Gecko basé sur une architecture parallélisée moderne, hautes performances.
Le projet Quantum DOM rendra Gecko plus réactif, surtout lorsqu'il y a beaucoup d'onglets d'arrière-plan ouverts. Lorsque Quantum DOM est terminé, le code JS pour différents onglets (et éventuellement différents iframes) s'exécutera dans des threads planifiés en coopération séparés; le code de certains onglets d'arrière-plan ne s'exécutera jamais du tout.
Publicité
Quantum Compositor déplace le compositeur de Gecko dans son propre processus. Étant donné que l'instabilité du pilote graphique est une source majeure de plantage de Firefox, nous nous attendons à ce que le déplacement du code qui interagit avec le GPU dans son propre processus rende Firefox plus stable.
Enfin, Quantum Rendering remplacera le sous-système graphique de Gecko par celui de Servo, appelé WebRender. Servo utilise le GPU plus efficacement que Gecko, le conduisant plus comme un jeu que comme un navigateur Web.
Ces projets sont à divers stades d'avancement. Quantum Compositor est assez avancé alors que Quantum Rendering ne fait que commencer. Il y a encore beaucoup d'incertitude sur les projets.
DOM quantique
Quantum DOM exécutera le code JavaScript pour différents onglets dans des threads parallèles, ce qui permettra d'augmenter les performances du navigateur avec de nombreux onglets ouverts. Pour basculer entre les threads, un planificateur spécial sera utilisé pour changer le contexte en douceur à la volée. De nombreuses améliorations viendront attraper les scripts lourds et les boucles infinies dans le code Javascript.
Flux quantique
Quantum Flow fait partie du projet Quantum dédié aux optimisations avancées de l'interface utilisateur du navigateur.
Regardez la vidéo suivante :
La source: Le blog de Bill McCloskey.