Mozilla’s Quantum Project is a new engine for Firefox

A few days ago, Mozilla introduced its new project, "Quantum", which is aimed at providing a new, notably improved engine for the Firefox browser. It will be Gecko-based and should bring many enhancements to Gecko's performance, thanks to increased concurrency and parallelism, reduced latency, and better reliability provided by the Rust code language and its features.

firefox logo banner
Quantum is roughly divided into four distinct projects.

The Quantum CSS project will replace Gecko's CSS engine with the one from Servo. Servo is Gecko's long term replacement based on a modern, high-performance, parallelized architecture.

The Quantum DOM project will make Gecko more responsive, especially when there are a lot of background tabs open. When Quantum DOM is finished, JS code for different tabs (and possibly different iframes) will run in separate co-operatively scheduled threads; the code for some background tabs will never run at all.

Quantum Compositor moves Gecko's compositor into its own process. Since graphics driver instability is a major source of Firefox crashes, we expect that moving code that interacts with the GPU into its own process will make Firefox more stable.

Finally, Quantum Rendering will replace Gecko's graphics subsystem with the one from Servo, called WebRender. Servo uses the GPU more effectively than Gecko does, driving it more like a game would than a web browser.

These projects are in varying stages of completeness. Quantum Compositor is fairly far along while Quantum Rendering is just getting started. There's still a good deal of uncertainty about the projects.

Quantum DOM

Quantum DOM will run the JavaScript code for different tabs in parallel threads, which will allow increasing the browser performance with many tabs opened. To switch between threads, a special scheduler will be used to change the context smoothly on-the-fly. Many improvements will come to catch heavy scripts and infinite loops in the Javascript code.

Quantum Flow

Quantum Flow is a part of the Quantum project dedicated to advanced optimizations of the browser UI.

Watch the following video:

Source: Bill McCloskey's Blog.

Leave a Reply

Your email address will not be published. Required fields are marked *