Pages

February 17, 2017

Multi-Process Firefox: everything you need to know

After years of development and several delays, multi-process Firefox, also known as Electrolysis or e10S, is about to be enabled for a subset of Firefox stable users.
The following guide provides you with information about Firefox's multi-process architecture. It explains what the feature offers, preferences and switches for it, covers add-on compatibility, and takes a look at the future of the feature.
Mozilla plans to enable the multi-process architecture for a subset of Firefox Stable users when the browser reaches version 48. If things go as planned, Firefox 48 will be released on August 2, 2016.

Multi-Process Firefox

Electrolysis functionality hosts, renders, or executes web related content in background child processes which communicate with the "parent" Firefox browser via various ipdl protocols.
The Multi-process architecture improves the browser's stability, performance and security by separating tasks into processes.
The first iteration of multi-process Firefox moves NPAPI plugins, media playback and web content to child processes thus separating them from the browser's core.

Find out if Multi-process support is enabled

 

multi-process firefox


The easiest way to find out whether multi-process Firefox is enabled is the following one:
  1. Load about:support in the Firefox address bar.
  2. Locate "Multiprocess Windows" under Application Basics near the top.
It should read enabled or disabled, and gives you a direct answer about the state of multi-process functionality in the browser.

Enabling Electrolysis in Firefox

If multi-process support is not enabled yet in Firefox, you may enable it manually. This is true even if you run Firefox 47 Stable as the functionality is already there.
Before you do so, you may want to run compatibility checks for add-ons though. If you don't run add-ons, about 40% of Firefox users don't according to Mozilla, you may skip the step.

Verifying add-on compatibility

 

firefox e10s compatibility


While you can jump into water right away by enabling Electrolysis without verifying compatibility first, it is highly suggested to verify that all important add-ons are compatible with e10s before you do so.
You may check out the Are We e10S Yet site which lists top add-ons and their compatibility with e10s. The majority of Firefox add-ons are not tested though so that you may be none the wiser after checking your add-ons on the site.
What you can do, is create a secondary profile in Firefox, copy all extensions of the first profile to it, and enable e10s for that secondary profile.
This is far from ideal though. An alternative is to disable all add-ons, enable e10s, and enable extensions one by one to find out whether they are compatible.

Enable / Disable Electrolysis in Firefox

 

browser.tabs.remote.autostart


To enable or disable multi-process Firefox, do the following
  1. Type about:config in the browser's address bar.
  2. Confirm that you will be careful.
  3. Search for browser.tabs.remote.autostart.
  4. Double-click on the preference.
Setting the value of browser.tabs.remote.autostart to true enables the multi-process architecture in Firefox, setting it to false disables it.
Please note that you need to restart the browser when you change the preference's value.
Some configurations, if accessibility is used or add-ons are incompatibility, prevent Electrolysis from being enabled.


disabled by addons
disabled accessibility tools


The about:support page mentioned previously list the reason so that you know why multi-process is not working.
You may force-enable multi-process functionality in Firefox. I recommend that you backup your user profile before you do.
  1. Type about:config in the browser's address bar and hit enter.
  2. Right-click and select New > Boolean.
  3. Name it browser.tabs.remote.force-enable.
  4. Set its value to true.
Note that forcing compatibility may have a big impact on performance if add-ons are incompatible with e10s.

When Multiprocess Windows is enabled

 

multiple firefox processes


You can check the about:support page in Firefox to find out whether multi-process is enabled or not.
You will notice several firefox.exe processes when you run a process manager, e.g. the Windows Task Manager which highlights that Electrolysis is enabled.
Firefox should for the most part run just like before. Ideally, enabling multi-process functionality should improve the browser's performance and stability right away.
You may however notice a higher than usual RAM usage. Mozilla confirmed that Firefox with Electrolysis will use about 20% more RAM.
You may change how many processes Firefox uses for its multi-process functionality.

 

The future

Mozilla will continue to work on multi-process Firefox after the initial roll out of the feature. The organization plans to bring sandboxing to Firefox which, on Windows, is based on the Chromium sandbox that Google uses in Chrome. This sandbox will improve security significantly when enabled.

Source: http://www.ghacks.net/2016/07/22/multi-process-firefox/