Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Gecko (software)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Quantum== '''Quantum''' is a [[Mozilla]] project encompassing several [[software development]] efforts to "build the next-generation web engine for [[Firefox]] users". It includes numerous improvements to Gecko, largely incorporated from the experimental [[Servo (software)|Servo]] project. Quantum also includes refinements to the user interface and interactions.<ref name="QuantWiki"/><ref name="QuantAnnounce"/> Firefox 57, released in November 2017, is the initial version with a Servo component enabled. Mozilla dubs this and several planned future releases "Firefox Quantum".<ref name="57notes">{{cite web|url=https://www.mozilla.org/en-US/firefox/57.0/releasenotes/|title=Firefox 57.0, See All New Features, Updates and Fixes|website=Mozilla|access-date=2018-10-30}}</ref><ref name="introFFQuantum">{{cite web|url=https://blog.mozilla.org/blog/2017/11/14/introducing-firefox-quantum/|title=Introducing the New Firefox: Firefox Quantum β The Mozilla Blog|website=The Mozilla Blog|access-date=2018-10-30}}</ref>{{Needs update|date=February 2025|reason=It mentions 2017, so it is somewhat likely the date of the event predicted near this tag has passed.|?=yes}} ===Background=== In 2012, Mozilla began the experimental [[Servo (software)|Servo project]], which is an engine designed from scratch with the goals of improving [[Parallel computing|concurrency and parallelism]] while also reducing [[memory safety]] vulnerabilities. Servo is written in the [[Rust (programming language)|Rust programming language]], also created by Mozilla, which is designed to generate [[compiler|compiled]] code with better memory safety, concurrency, and parallelism than compiled C++ code.<ref name="Servo_paper"/> As of April 2016, Servo needed at least several years of development to become a full-featured browser engine,<ref>{{cite web|url=https://github.com/servo/servo/wiki/Remaining-work/0e3b111807c2ed4c11f36d6bd47dda6dfa02d502|title=Servo remaining work|website=GitHub |access-date=2017-02-17}}</ref> hence the decision to start the Quantum project to bring stable portions of Servo into Firefox. Mozilla laid off all Servo developers in August 2020.<ref>{{Cite web |title=Mozilla lays off 250 employees while it refocuses on commercial products |url=https://www.zdnet.com/article/mozilla-lays-off-250-employees-while-it-refocuses-on-commercial-products/ |access-date=2022-06-14 |website=ZDNet |language=en}}</ref> ===Components=== The Quantum project is composed of several sub-projects.<ref name="QuantWiki"/> * '''CSS''': [[Servo (software)|Servo]]'s parallel [[Cascading Style Sheets|style sheet]] system integrated into Gecko. Benchmarks suggest that performance scales linearly with number of [[CPU]] cores.<ref>{{cite web|url=https://changelog.com/podcast/228|website=The Changelog|title=The Changelog|date=18 November 2016 |access-date=2017-03-28}}</ref> This was released in Firefox 57.<ref name="introFFQuantum"/> * '''Render''': Servo's [[Rendering (computer graphics)|rendering]] architecture, called WebRender, integrated into Gecko in 2019, 2 years after the first Firefox Quantum release, Firefox 67. WebRender replaces the [[Immediate mode (computer graphics)|immediate mode]] drawing model with a [[retained mode]] model that is more easily accelerated by the [[GPU]] by taking advantage of CSS/DOM's similarity to a [[scene graph]]. Worst-case scenario rendering in testing exceeds 60 frames per second.<ref>{{cite web|url=https://air.mozilla.org/bay-area-rust-meetup-february-2016/|title=Bay Area Rust Meetup February 2016|website=Air Mozilla|access-date=2017-03-28}}</ref> Mozilla began enabling the new renderer for select hardware/OS combinations in Firefox 67.<ref>{{cite web|url=https://wiki.mozilla.org/Platform/GFX/WebRender_Where|title=Webrender Where|website=Mozilla Wiki|access-date=2020-07-14}}</ref> * '''Compositor''': Gecko's existing [[compositing|compositor]] moved to its own process, isolating browser tabs from graphics driver related crashes. Since compositor crashes will not bring down the browser content process, the compositor process can be restarted transparently without losing user data. This was released in Firefox 53.<ref>{{cite web|url=https://blog.mozilla.org/blog/2017/04/19/first-big-bytes-project-quantum/|title=Firefox faster and more stable with the first big bytes of Project Quantum, simpler with compact themes and permissions redesign|website=Mozilla Blog|access-date=2017-04-27}}</ref> * '''DOM''': Loosely inspired by Servo's Constellation architecture<ref>{{cite web|url=https://www.youtube.com/watch?v=an5abNFba4Q |archive-url=https://ghostarchive.org/varchive/youtube/20211211/an5abNFba4Q| archive-date=2021-12-11 |url-status=live|title=Servo Architecture|website=YouTube|date=18 January 2017 |access-date=2017-03-28}}{{cbignore}}</ref> and [[Opera (web browser)|Opera]]'s [[Presto (browser engine)|Presto]] engine,<ref>{{cite web|url=https://billmccloskey.wordpress.com/2016/10/27/mozillas-quantum-project/|title=Mozilla's Quantum Project|website=Bill McCloskey's Blog|access-date=2017-03-28|date=2016-10-27}}</ref> Quantum DOM uses cooperatively scheduled threads within the [[Document Object Model|DOM]] to increase responsiveness without increasing the number of processes and, thus, memory usage. The core of this shipped in Firefox 57.<ref>{{cite web|url=https://hacks.mozilla.org/2017/11/entering-the-quantum-era-how-firefox-got-fast-again-and-where-its-going-to-get-faster/|title=Entering the Quantum Era|date=2017-11-13|website=Mozilla Hacks|access-date=2020-07-14}}</ref> * '''Flow''': An umbrella for user visible performance improvements driven by a team that works across Gecko components. Focused on real user performance improvements on major [[Web application|webapps]], primarily G Suite (now called [[Google Workspace]]) and [[Facebook]].<ref>{{cite web|url=https://wiki.mozilla.org/Quantum/Flow|title=Quantum Flow|website=Mozilla Wiki|access-date=2017-03-28}}</ref> This work completed and shipped for Firefox 57.<ref>{{cite web|url=https://ehsanakhgari.org/blog/2017-09-21/quantum-flow-engineering-newsletter-25/|title=Quantum Flow Engineering Newsletter #25|date=2017-09-17|website=ehsanakhgari.org|access-date=2020-07-14}}</ref> * '''Photon''': A [[User interface|UI]] refresh of the entire application, with a strong focus on improving UI performance. Treated as a sister project to Quantum Flow.<ref>{{cite web|url=https://dolske.wordpress.com/2017/05/18/photon-engineering-newsletter-1/|title=Photon Engineering Newsletter #1|last=dolske|date=2017-05-18|website=Dolske's blog|access-date=2017-07-04}}</ref> This was released in Firefox 57.<ref name="57notes"/> * '''Network''': Improve the performance of [[Mozilla application framework|Necko]], Gecko's networking layer, by moving more network activity off the main thread, context dependent prioritization of networking streams, and racing the cache layer with the network.<ref>{{cite web|url=https://wiki.mozilla.org/TPE_Necko/Projects|title=TPE Necko/Projects - MozillaWiki|website=wiki.mozilla.org|access-date=2017-07-04}}</ref> This feature was released in Firefox 59.<ref>{{cite web|url=https://www.mozilla.org/en-US/firefox/59.0/releasenotes/|title=Firefox 59 Release Notes|website=www.mozilla.org|access-date=2019-01-16}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Gecko (software)
(section)
Add topic