49 comments

[ 3.9 ms ] story [ 111 ms ] thread
> Today we’re proud to announce the initial rollout of multi-process Firefox for Desktop to our general audience. With this, we’re taking a major step forward in improving Firefox for Desktop. Users should experience a Firefox that is less susceptible to freezing and is generally more responsive to input, while retaining the experience and features that users love.

Really? That's it? I mean, don't get me wrong, that's great. But I kind of assumed FF already had this. Didn't Chrome roll this exact feature out like 6 years ago?

If you use Firefox and Chrome side by side every day, you can definitely tell that Firefox lacked it until now. This is especially evident on older Macs and most Linux distros I've tried. Chrome/Chromium's performance is leaps and bounds ahead of Firefox, RAM usage notwithstanding.

I'm eager to try this out when I get home tonight.

I definitely don't use Firefox except when testing how our website looks in Firefox.

But it's not because of laggy behavior. Come to think of it, it's because Firefox just feels... weird and unnatural, compared to Chrome or even Edge.

That's just familiarity talking, though. Every browser has its slight scrolling and rendering and UI quirks to get used to.
This. As a Firefox user I have the same 'feeling' going back the other way. With regards to developer tools, I find the tools that I use constantly - console, inspector, network activity - to be superior on Firefox... Each to his own I suppose.
Are you sure that it's not anyways, because of lagginess (i.e. did you try the new release)?

The addition of e10s has also majorly improved scrolling performance (through the implementation of Asynchronous Panning and Zooming [0]), which I've personally found to be exactly that, it felt weird beforehand, but I couldn't have told you what was wrong exactly...

[0] https://hacks.mozilla.org/2016/02/smoother-scrolling-in-fire...

Chrome was designed with multi-core processors in mind. Firefox wasn't, since obviously multi-core processors weren't really a thing when Firefox was initially released. As a result, Mozilla had to tear up a big chunk of the architecture to implement it. That's why it took so long. A simple case of technical debt.
And they also didn't work on it for the entire six years since Chrome was released. The project was shelved temporarily while development was focused on other things.

I have been running Firefox Nightly along side Chrome for the past year or so, and have been using it as my main browser for a few months now, and I've been really happy with its performance.

Not only tear up the architecture, but also accept that a major competitive advantage (the add-on ecosystem) would be for some part collateral damage in the transition.
I've always been a fan of Firefox, switching to it years and years ago, but Chrome's performance was always a bit smoother because of multi-process, and their dev tools are top notch.

The flipside is that Chrome is a major resource hog too, often taking up half or more of my 16gb of RAM. Curious if Firefox can now compete performance-wise without going down the same resource path.

It really bothered me when browsers decided they owned your machine and removed manual cache size limits. What if I want to use my browser at the same time as something I actually want to use all my RAM?
Sadly, you use another browser. Safari is pretty good at not crapping all over your computer.
If you're using an OS that lets you setup restrictions per process, you could do something like this:

https://gist.github.com/juanje/9861623: I was tired of Chrome eating all my laptop resources so I decided to put some limit to it with cgroup.

If you often have many tabs open, Firefox the better choice in terms of memory consumption. I use Chrome for more "appy" web sites, and Firefox for the rest of my casual browsing.
funny, Firefox is always the greatest memory hog in my machine. Probably due to uBlock.
I have in the past had over 700 tabs open in FF (which is insane, I know) and it handled everything with aplomb until I switched from ABP to uBlock. Now, I can't shut Firefox without it crashing, and my tab count can be as low as 100.

I don't use Chrome, since it bothers me that Google tracks and profiles everything I do, but when I did I was shocked that about twenty tabs and it hits the floor.

uBlock Origin usually rather decreases RAM usage, since ads tend to take up a fair chunk of RAM, too.

If you want to troubleshoot it, type "about:memory" into the URL-bar and hit enter, then click the "Measure"-button to the left. This should give you a pretty detailed listing of everything that takes up RAM, and usually, high RAM usage is caused by an extension having memory leaks, so you'll probably see a pretty big number somewhere near the root of the tree and should be able to follow it along to whatever is causing it.

If it is an extension, obviously try to find a replacement, if it's not an extension, you should probably file a bug report...

I haven't found uBlock origin to consume much memory when looking at about:memory (Show memory reports). Perhaps another add-on is chewing up your memory. I often have 20+ tabs open. If I have 20 or more tabs with Chrome open, and I add up the memory for all the per-tab processes Chrome spawns, Chrome eats up way too much memory. Chrome is great as long as you don't have many open tabs. Firefox is great for those of us that just can't close our tabs.
This isn't yet fully on par with Chrome's multi-process implementation, as Chrome also separates individual tabs' content processes (so, if you load many tabs in a short time, those tabs will generally render better in parallel), and also, Chrome separates each individual extension into its own process, whereas Firefox only has one process for all extensions, but, if I remember correctly, current numbers are that this raises RAM usage by about 20%.

The individual tabs in individual processes are also planned (and yesterday, I got a "The bad news first, this tab crashed"-message on Firefox Nightly, meaning that this was probably just pushed to Nightly), and the individual processes for individual extensions will most likely be implemented with their implementation of WebExtensions (Chrome's extension API) in the future.

So, currently, it can't quite compete in theoretical performance when looking only at multi-process, but is also still miles off in terms of RAM usage.

Personally, I don't think that they'll come close to the amount that Chrome uses, mainly because they've always been a bit more conservative, i.e. acknowledging that people occasionally use their computers for other things than browsing the internet, but yeah, we'll have to wait and see how it plays out in the end...

Searching about:config for e10s, I see I'm in the "disqualified-control" "e10s.rollout.cohort". Looking further, I see "extensions.e10sBlockedByAddons" and "extensions.e10sBlocksEnabling" are both true.

So, one or more add-ons are presumably incompatible with the feature, but even if I uninstalled those (which ones?) I might still be in Mozilla's control group, and there's no clear way to override that.

> even if I uninstalled those (which ones?)

I think you can see the partial list of extensions at https://www.arewee10syet.com/ The result seems to be restricted to only few top extensions, though.

Edit: I remembered it used to have a lot more extensions listed, apparently they have recently rebuilt the site[1][2]:

[1]: https://github.com/andymckay/arewee10syet

[2]: https://github.com/andymckay/new-arewee10syet.com

The previous page was just a crappy Google Doc embedded into the page, so they probably tidied it up before release...
Currently, having any add-on installed will block it. In the future, they want to work with a whitelist, but for now, they are being extremely cautious with the rollout, since e10s is considered the biggest architectural change that Firefox has ever gone through.

Here's their (very preliminary and not terribly official) schedule: https://wiki.mozilla.org/E10s#Schedule

So, at what point do the extensions I use, and for which in good part I prefer Firefox, start dying?
Why do you think extensions won't be supported?
https://blog.mozilla.org/addons/2015/08/21/the-future-of-dev...

WebExtensions / Chrome-style extensions are pretty limited to things which the browser dev already anticipated needing support for, while the old model let them do pretty much anything the browser could.

While it's certainly possible for Tree Style Tabs or uBlock Origin to be ported to/rewritten for Web Extensions when it's finished, that's only because there has been proven demand for the API to support those features.

When the next addon developer with an idea of that level of modification to the browser comes around, they're simply not going to be able to do it unless they manage to persuade Mozilla to give them APIs needed.

That's not to mention addon developers that won't care enough to update their addons to stop using XUL when it goes away.

As far as I can tell, Mozilla is really trying to help extension authors port their add-ons. They have lines of communication with the developers of the most popular add-ons.

I think the advantage of Firefox in this space is that so many of the developers are volunteers and/or "power users" themselves.

Additionally, since it just bit me in the ass today, a lot more short term than the end of XUL:

I can no longer install YouTube Center on Firefox 48 on Windows. They removed the about:config override that enabled installing unsigned addons. Which is very annoying.

Still no way to run multiple independent windows without a lot of dirty hacks. This is the only thing that keeps me with Chrome: The ability to close a certain set of windows when I'm done at work and have them out of the way. Or the other way around, close windows with private and personal things.

I don't understand what stops Firefox from implementing something similar. They already have the concept of profiles. Just no ability to run them simultaneously.

without a lot of dirty hacks

http://kb.mozillazine.org/Opening_a_new_instance_of_Firefox_...

Creating an independent set of windows with FF is as easy as creating a shortcut with the '-no-remote' option. Using '-P -no-remote' will open a new independent window and show the profile manager (so you can have one shortcut to run multiple profiles). If you already have a short list of profiles you like to run, then you can hard code the profile name is as well.

It makes no sense that I have to modify the start up options or (on OSX) create a shortcut in Automator to set the correct start up options.

In Chrome it has been solved very nicely. But it looks like this is being solved in future versions of Firefox, which is nice.

I've tried to do it the way you described, but it just feels messy. Even more so when your dock ends up with X-amount of Firefox-icons, instead of grouping them together like Chrome does. But I guess people have different preferences.

Do you mean you would prefer it to be a preference rather than a command line flag?
You can use Firefox's about:profiles page to manage your Firefox profiles without using the command line parameters.
For the curious, you're likely using one or more extensions and thus multi-process won't be on when you update to it. Mozilla is rolling it out cautiously, so everyone with any extensions at all is excluded and everyone with no extensions either has it on or is in the 'control group' which will be used to judge the affect that enabling multi-process has on stability based on telemetry reports from both groups.
If you would like to force enable Electrolysis. Within about:config create a new boolean pref named browser.tabs.remote.force-enable and set it to true.
If you do, though, understand that this might actually cause you worse performance than you currently have, depending on the add-ons that you use.
about:config settings to force it on, that I could find:

  browser.tabs.remote.autostart = true
  extensions.e10sBlocksEnabling = false
Since I didn't have any luck finding an answer to this at Mozilla, does anyone know why McAfee SiteAdvisor is able to automatically enable it's add-on in Firefox? Even after I disable it in the add-ons manager, the next update to McAfee software re-enables the add-on by itself. (This add-on places a green or red check-mark against google (and possibly other) search results to indicate if it's safe or not to click on a link in the search results). When using the McAfee security suite, they don't provide any option to choose what it's add-on does.
I really really hate those. As far as I could tell when I investigated, these guys actually modify the file system from under the browser (Firefox, Chrome) so there's not much the browser can do.
Those virus protection programs act more like viruses every day...
Type "about:config" into the URL-bar and hit enter. Confirm to the dialog that you'll be cautious and then search in that page for "xpinstall.signatures.required". I'm guessing, that this is disabled for you.

If it is, and you want to get rid of the McAfee-extension, then remove the McAfee extension and re-enable xpinstall.signatures.required.

It shouldn't be able to reinstall then. If it does anyways, check about:config, again, if that preference is re-enabled.

If it is re-enabled, either some add-on in your add-on-list is malicious and re-enabling it, which then allows McAfee to reinstall, or McAfee is abusing the prefs.js-file in your Profile-folder ([0]), which can be used to set about:config-values.

All in all, that this is an about:config-toggle to begin with, is kind of crap, as it makes this sort of stuff possible. Mozilla has plans to eventually remove this about:config-toggle from standard Firefox and instead provide a separate unbranded version of Firefox which then does still have that toggle for people who want to use unsigned extensions, but for now, this change has been put on hold, because things have been going fine, and it would just mean additional organizational chaos as well as people, who don't know about the unbranded version, screaming about Mozilla creating a walled garden. But if all of the above applied for you, you should probably report this to Mozilla, as that might be enough reason to get them moving on this change.

[0] https://support.mozilla.org/en-US/kb/profiles-where-firefox-...

Someone below commented that they actually removed the flag with this release, so, ignore that last paragraph...
xpinstall.signatures.required is true in about:config on my Firefox. It seems like that doesn't matter. The only other add-ons I have are NoScript, Pocket and LastPass and I trust these. The McAfee add-on only has a "Disable" button and when I disable and restart, it does get disabled. I am unable to remove it and the external McAfee installer/configuration manager does not have any settings to prevent it from getting installed. And every-time McAfee updates itself, it re-enables it's add-on and I have to go in and manually disable it.

I am surprised that no-one else is facing the same problem and is not complaining about it (Google search didn't show me any results regarding this topic and I found only mentions of similar problems (pre 2014) on the Mozilla forums).

How will this affect battery life?

Right now, I use Firefox instead of Chrome on my Linux laptop because Chrome consumes several watts of juice more than Firefox. This adds up to about an hour of extra battery life over a single charge.

I suspect at least part of that is context-switching overhead?

I really want to switch to Firefox on Android for the extensions, but I feel like Chrome is still doing a superior job in terms of security, which makes me stick with chrome. I hope e10s is the start of Firefox getting a content sandbox.