Mozilla's Quantum Project is een nieuwe engine voor Firefox
Een paar dagen geleden introduceerde Mozilla zijn nieuwe project, "Quantum", dat gericht is op het leveren van een nieuwe, met name verbeterde engine voor de Firefox-browser. Het zal gebaseerd zijn op Gecko en zou veel verbeteringen aan de prestaties van Gecko moeten brengen, dankzij verhoogde gelijktijdigheid en parallellisme, verminderde latentie en betere betrouwbaarheid door de Rust-codetaal en zijn Kenmerken.
Quantum is grofweg verdeeld in vier verschillende projecten.
Het Quantum CSS-project zal de CSS-engine van Gecko vervangen door die van Servo. Servo is Gecko's vervanging voor de lange termijn, gebaseerd op een moderne, krachtige, parallelle architectuur.
Het Quantum DOM-project zal Gecko responsiever maken, vooral wanneer er veel achtergrondtabbladen open zijn. Wanneer Quantum DOM is voltooid, wordt JS-code voor verschillende tabbladen (en mogelijk verschillende iframes) uitgevoerd in afzonderlijke, gezamenlijk geplande threads; de code voor sommige achtergrondtabbladen zal helemaal nooit worden uitgevoerd.
Advertentie
Quantum Compositor zet Gecko's zetter in zijn eigen proces. Aangezien instabiliteit van grafische stuurprogramma's een belangrijke oorzaak is van Firefox-crashes, verwachten we dat het verplaatsen van code die met de GPU samenwerkt naar zijn eigen proces Firefox stabieler zal maken.
Ten slotte zal Quantum Rendering het grafische subsysteem van Gecko vervangen door dat van Servo, genaamd WebRender. Servo gebruikt de GPU effectiever dan Gecko, en stuurt het meer als een game dan als een webbrowser.
Deze projecten bevinden zich in verschillende stadia van volledigheid. Quantum Compositor is redelijk ver, terwijl Quantum Rendering nog maar net begint. Over de projecten bestaat nog veel onduidelijkheid.
Quantum DOM
Quantum DOM zal de JavaScript-code voor verschillende tabbladen in parallelle threads uitvoeren, waardoor de browserprestaties kunnen worden verbeterd met veel geopende tabbladen. Om tussen threads te schakelen, wordt een speciale planner gebruikt om de context soepel on-the-fly te wijzigen. Er zullen veel verbeteringen komen om zware scripts en oneindige lussen in de Javascript-code op te vangen.
Kwantumstroom
Quantum Flow is een onderdeel van het Quantum-project dat zich toelegt op geavanceerde optimalisaties van de gebruikersinterface van de browser.
Bekijk de volgende video:
Bron: De blog van Bill McCloskey.