Not logged in » Login
Oct 29 2016

Mozilla Launches “Project Quantum”

For many years on end, Firefox users have suffered from the comparatively mediocre performance and resource hunger of their favored browser. Attempts to fix the underlying issues have so far had limited success; when compared to products from Google, Microsoft or Opera, Firefox still lags. Now, the freshly announced Project Quantum is supposed to remedy some of the longest-standing ills.

David Bryant, Mozilla's current Head of Platform Engineering, first posted about the project on Thursday this week on the Mozilla Tech blog. From a user perspective, the short piece – entitled "A Quantum Leap for the Web" – could hardly be more revealing: although he lauds previous efforts at bringing the browser up to par (such as Project Electrolysis), he stops short of admitting that it's thoroughly outdated. Or in his own words:

"Web browsers first appeared in the era of desktop PCs. Those early computers only had single-core CPUs that could only process commands in a single stream, so they truly could only do one thing at a time. [...] nowadays we browse the web on phones, tablets, and laptops that have much more sophisticated processors, often with two, four or even more cores. Additionally, it's now commonplace for devices to incorporate one or more high-performance GPUs that can accelerate rendering and other kinds of computations."

To which he adds:

"One other big thing that has changed over the past fifteen years is that the web has evolved from a collection of hyperlinked static documents to a constellation of rich, interactive apps. Developers want to build, and consumers expect, experiences with zero latency, rich animations, and real-time interactivity."

This analysis is particularly sobering because it basically tells us that Mozilla's developers have been struggling to stay in sync with the rest of the industry for about five years. Meanwhile, other browsers have faster, WebKit-based rendering and JavaScript engines, and increasingly benefit from programming concepts such as parallelization or GPU offloading that rely on the capabilities of modern multi-core processors and graphics hardware. Firefox on the other hand still relies on its own rendering engine Gecko, whose development began nearly 20 years ago and which has been augmented several times since then – unfortunately with little success.

So what's the solution to this dilemma? After holding on to Gecko for so very long, Mozilla can't simply drop it by the wayside and switch to WebKit, partly because the cost would be too high and partly because such a move would go against Mozilla's policy of remaining independent and steering clear of possible conflicts with Apple and Google, the biggest promoters of WebKit and its derivatives. Consequently, Bryant and his team have turned their gaze to Servo, an experimental engine developed by Mozilla's research arm and Samsung. Written entirely in the Rust programming language, Servo "aims to achieve better parallelism, security, modularity, and performance" and thus should be able to solve many of the issues mentioned above. Sadly, at this point Bryant won't further elaborate on the details, instead leaving the job to Bill McCloskey, one of the forces behind Electrolysis, who uses his own blog to explain Mozilla's four-pronged approach:

"The Quantum CSS project will replace Gecko's CSS engine with the one from Servo. Servo's engine is heavily parallel while Gecko's is not.

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 cooperatively 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 browser."

Since McCloskey is working on Quantum DOM, the rest of his blog is devoted to this particular topic; however, he manages to mention that the four pillars are "in varying stages of completeness," with Quantum Compositor leading the way and Quantum Rendering trailing behind. Thus, the Project Quantum team can't push forward too aggressively, but will have to implement new functionalities on a step-by-step basis. Whether that's enough to keep up with Bryant's promise of delivering major improvements to users "by the end of 2017" as well as ongoing developments in browser technology is currently up in the air.

 
SHARE

Comments on this article

No comments yet.

Please Login to leave a comment.

X

Please login

Please log in with your Fujitsu Partner Account.

Login


» Forgot password

Register now

If you do not have a Fujitsu Partner Account, please register for a new account.

» Register now