The first quantum project component, Quantum Compositor, has just landed in the latest Firefox Nightly version (currently on 52).
Project Quantum is Mozilla’s attempt to create a next-generation web engine. We talked about project quantum when it was revealed by Mozilla two weeks ago.
Quantum is a large project that is all about parallelism and using modern hardware features. It has a number of components adopted from the Servo project.
Mozilla hopes that the quantum components will improve Firefox performance and the user experience significantly and noticeably. Websites should load faster, user interaction with sites and the browser are smoother and better, and animations will be a lot smoother than they are right now in all browsers.
Firefox Quantum Compositor
One of those components, Quantum Compositor, is now integrated in Firefox 52 nightly. The limitation right now is that it is only enabled on devices running Windows 7 or newer, and only if Direct3D 11 is supported.
Quantum Compositing is not feature-complete yet as noted on the Meta Bug.
We believe this has significant benefits for reliability/stability, as the more GPU work we can move out of the UI process, the less likely Firefox is to crash. D3D11 crashes and device resets will be much easier to handle as we can simply restart the GPU process if something goes wrong.
Initially we are only remoting composition – this prototype does not involve remoting rasterization, video acceleration, or GL commands. Firefox will still use the GPU in content processes, and the parent process in non-e10s mode (or in e10s mode when content is accelerated).
You can verify if Quantum Compositor is used in your copy of Firefox Nightly by loading about:support in the browser’s address bar, and scrolling down to the Diagnostics section on the page that opens.
If you see the parameters GPUProcessPid and GPIPRocess on the page, Quantum Compositor is enabled.
Firefox’s compositor runs in its own process which you can verify by opening the Task Manager and looking at the process IDs of firefox.exe. You should see a matching process ID there which indicates that the browser’s compositor runs in its own process now.
Mozilla decided to use firefox.exe for that process to avoid issues with security software.
Side note: Quantum Compositor’s preference that determines whether it is enabled or not is layers.gpu-process.dev.enabled. Please note that this is not available in most Firefox versions right now. Eventually though it will become available in all.
The integration of the first Quantum component in Firefox marks an important step for the browser’s future. While Quantum Compositing won’t find its way in Firefox 52 Stable, it will land in Firefox Stable eventually.
Nightly users may experience issues with the Quantum Compositor but that is to be expected considering that Firefox Nightly is there exactly for that purpose (to iron out bugs and test features).
You can follow the integration process on [email protected]. Once all bugs are ironed out, Quantum Compositor will land in Firefox Stable. As far as other operating systems are concerned, those are not forgotten but information is scarce currently in regards to when the feature will land on those platforms. (via Sören Hentzschel)
Now You: What’s your take on Firefox’s next-gen Quantum Project?