Almost a year ago, Mozilla announced “Project Quantum,” which promised to bring over significant changes to Firefox’s Gecko engine from the “Servo” research project. Only an initial phase of Project Quantum has been completed so far, but Mozilla said that the new changes have already made Firefox twice as fast as it was a year ago. You can experience these changes in the new beta and developer versions of Firefox, or wait until Firefox 57 becomes stable on November 14.
Towards A Next-Generation Browser
A few years ago, Mozilla started working on “Servo,” a new web rendering engine that was written completely in Rust, a new fast and memory safe programming language whose development Mozilla is also sponsoring. The rendering engine was also written from the ground up to provide modern features such as being able to render all components of a web page in parallel on multiple CPU threads.
We can see from an older Mozilla slide below that Servo looked quite promising compared to Gecko, the old rendering engine used by Firefox.
However, Mozilla admitted that it’s not quite possible to directly port Servo to Firefox, and that instead it would have to gradually take parts of Servo and port them to Gecko over time. It’s still not clear whether or not this means that Gecko will eventually reach parity with Servo in performance and security, but Mozilla has at least implied that much of the same benefits should be seen in upcoming versions of Firefox.
Quantum CSS, DOM, And Compositor
According to Mozilla, what makes the new beta version of Firefox so fast is Quantum CSS, a Servo component written in Rust that was previously called “Stylo,” and Quantum DOM, which overhauled how Firefox prioritizes work to eliminate bottlenecks. These two components along with the fixing of 369 performance bugs are responsible for doubling Firefox’s performance compared to a year ago.
The test was done in a Speedometer 2.0 benchmark, which simulates real-world performance of modern web applications. We can see in the video below that the new Firefox seems to win often (but not always) against Chrome.
Mozilla’s engineers assure us that despite performance tuning often being in conflict with memory usage, Firefox is still able to use about 30% less memory than Chrome for the same work. This is due to Firefox’s new multi-process architecture that doesn’t isolate every website or extension in its own process and sandbox. Instead, multiple content items are put together in a single process to save memory. This can be a good strategy to lower memory usage, but it remains to be seen if it also offers similar security to Chrome in the long term.
The company also said that the new browser comes with a new “Quantum Compositor,” which will significantly reduce crashes caused by buggy graphics drivers.
To complement the doubling of Firefox’s performance due to all the “Quantum” improvements, Mozilla also decided to give Firefox a fresh look with a new “Photon” UI. The new UI includes redesigned menus, square tabs, and a new “Library” that includes all of your bookmarks, downloads, history, and so on. Firefox will also combine the URL and search bars into one, making it work more like Chrome in this respect.
The “New Tab” page has also been redesigned to include an “Activity Stream” that will include highlights from your recent history and bookmarks, as well as recommendations from Pocket, an application that manages articles you’ve saved to read later. Pocket was acquired by Mozilla last year and it will be integrated into Firefox 57. Mozilla noted that the New Tab page can still be customized by users via add-ons.
Firefox 57’s settings will also become searchable, making it easier to configure the browser.
More “Quantum” Features To Arrive
Project Quantum doesn’t end with the features enumerated above. Mozilla is still working on a new GPU-optimized rendering engine that could clearly put Firefox ahead of other browsers in terms of performance. The new rendering engine is called Quantum Render and is based on Servo’s WebRender. As we can see from an older benchmark, it looks quite promising.
Quantum DOM Scheduler is also a planned feature that promises to stop background tabs from slowing down active tabs.
Mozilla’s new focus on performance (as well as security and privacy), along with a fresh UI and a hint of new branding (Quantum, etc) should make Firefox a browser that will be hard to ignore by enthusiasts. If Mozilla can gain back the large number of enthusiasts that have left it for Google’s Chrome years ago, then it could be a matter of time before its market share starts growing again, too, as these enthusiasts start evangelizing the Firefox browser to their friends and family once more.
I do have to say that it's almost like pulling teeth to get websites and web app sites to move away from Flash since modern browsers have pretty much stopped supporting it, and other plugins and such. It makes updating browsers a pain when you need those features.