Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Gecko (software)
(section)
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>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)