Mozilla's Quantum Project je nový engine pro Firefox
Před několika dny Mozilla představila svůj nový projekt „Quantum“, jehož cílem je poskytnout nový, výrazně vylepšený engine pro prohlížeč Firefox. Bude založen na Gecko a měl by přinést mnoho vylepšení výkonu Gecka, díky zvýšenému souběžnost a paralelismus, snížená latence a lepší spolehlivost poskytovaná kódovým jazykem Rust a jeho funkce.
Quantum je zhruba rozděleno do čtyř odlišných projektů.
Projekt Quantum CSS nahradí CSS engine Gecko za ten od Servo. Servo je dlouhodobá náhrada Gecka založená na moderní, vysoce výkonné, paralelizované architektuře.
Díky projektu Quantum DOM bude Gecko citlivější, zvláště když je otevřeno mnoho karet na pozadí. Po dokončení Quantum DOM poběží kód JS pro různé karty (a možná i různé prvky iframe) v samostatných kooperativně naplánovaných vláknech; kód pro některé karty na pozadí se nikdy nespustí.
reklama
Quantum Compositor posouvá Geckoův skladatel do vlastního procesu. Protože nestabilita grafického ovladače je hlavním zdrojem pádů Firefoxu, očekáváme, že přesunutí kódu, který interaguje s GPU do vlastního procesu, učiní Firefox stabilnější.
Konečně Quantum Rendering nahradí grafický subsystém Gecko subsystémem od Servo, který se nazývá WebRender. Servo využívá GPU efektivněji než Gecko a pohání ho spíše jako hra než webový prohlížeč.
Tyto projekty jsou v různých fázích úplnosti. Quantum Compositor je poměrně daleko, zatímco Quantum Rendering teprve začíná. Ohledně projektů stále panuje značná nejistota.
Kvantový DOM
Quantum DOM spustí kód JavaScript pro různé karty v paralelních vláknech, což umožní zvýšit výkon prohlížeče s mnoha otevřenými kartami. K přepínání mezi vlákny bude použit speciální plánovač, který plynule změní kontext za běhu. Dojde k mnoha vylepšením, která zachytí těžké skripty a nekonečné smyčky v kódu Javascriptu.
Kvantový tok
Quantum Flow je součástí projektu Quantum věnovaného pokročilé optimalizaci uživatelského rozhraní prohlížeče.
Podívejte se na následující video:
Zdroj: Blog Billa McCloskeyho.