Electrolysis, or more chromification

General discussion and chat (archived)
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35651
Joined: 2011-08-28, 17:27
Location: Motala, SE

Electrolysis, or more chromification

Unread post by Moonchild » 2015-04-21, 23:21

I tend to poke at Firefox Nightly now and then to keep up with what all is going on in their trunk builds.

Currently, it seems they are dogfooding e10s (electrolysis, or "remote tabs" that run in a different process than the actual browser front-end).

A key sentence in the "learn more" wiki entry for it in its current state:
What to Expect

Basic browsing should work as expected. Tabs that are loaded remotely (i.e., in a separate process) will have their title underlined. By default, all tabs share just one content process. If one tab crashes, they all crash. Process-per-tab, like Google Chrome, is on our roadmap.
So instead of using a smarter way of doing this, as initially planned, it seems they are going to try for the same flawed setup Chrome uses.
Do you use 100 tabs? Then you will have 100 copies of a Firefox-subprocess (likely a separately named plugin-container instance) running. Looking at my own setup here, Firefox's "master" process is using a comfortable 175MB, with another 78MB in the plugin-container process with a few light tabs opened. Restarting the browser with e10s disabled (which it did automatically because it thinks I have an accessibility tool enabled -- I don't!) put it all back in 1 process using 191 MB for the same tabs. e10s therefore has an extra 62MB overhead for its process; that's a lot.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

megaman

Re: Electrolysis, or more chromification

Unread post by megaman » 2015-04-21, 23:47

Moonchild wrote:e10s therefore has an extra 62MB overhead for its process; that's a lot.
I did poke around myself and found the e10 before I abandoned Nightly's ship.
I didn't notice much performance before, how is it now, in comparison to the 1 Process?

User avatar
Sajadi
Board Warrior
Board Warrior
Posts: 1227
Joined: 2013-04-19, 00:46

Re: Electrolysis, or more chromification

Unread post by Sajadi » 2015-04-22, 10:10

I see it already upcoming, people in the future complaining why Failfox is using all the computers memory and they can't have as many tabs open as they have been in the past :D

This will be amusing to watch :clap:

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35651
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Electrolysis, or more chromification

Unread post by Moonchild » 2015-04-22, 23:24

Oh, I just ran into something pretty telling in that respect.
If you want to have a laugh: install Firefox (37 or nightly, whichever you prefer), open task manager, browse to http://ie.microsoft.com/testdrive/Graph ... fault.html and watch the task manager memory usage for it while you scroll back and forth a few times. (please make sure you have at least 1GB of free ram before trying this or you may choke up the OS).
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

megaman

Re: Electrolysis, or more chromification

Unread post by megaman » 2015-04-22, 23:58

Moonchild wrote:Install Firefox (37 or nightly, whichever you prefer), open task manager, browse to http://ie.microsoft.com/testdrive/Graph ... fault.html and watch the task manager memory usage for it while you scroll back and forth a few times.
The Nightly server was throttled, today. I used an accelerator and it was still not budging much.
As for the test, I see what you mean. It's like a party with uninvited guests.

Edit:
We might have to take note on the FPS.
Electrolys had a low drop of 48, yet it was hardly fluctuating, 60 most of the time.
Without Electrolytes, it would fluctuate wildly and even drop below the 40s, but not lower than the upper 30s.
PM had a rare drop of 43, other than that it maintained a stable 60; with a few drops to the upper 50s.

_Poke_

Re: Electrolysis, or more chromification

Unread post by _Poke_ » 2015-04-23, 08:54

Moonchild wrote:Oh, I just ran into something pretty telling in that respect.
If you want to have a laugh: install Firefox (37 or nightly, whichever you prefer), open task manager, browse to http://ie.microsoft.com/testdrive/Graph ... fault.html and watch the task manager memory usage for it while you scroll back and forth a few times. (please make sure you have at least 1GB of free ram before trying this or you may choke up the OS).
No matter how much I scrolled around, PM only ever went down to 58 fps in my current session. I opened a fresh instance (with no extensions) to check memory usage and it stayed at 60 fps the entire time. I couldn't budge it. Memory at ~130mb
Meanwhile vanilla Firefox 37.0.1 drops frames often, getting as low as 50. Which isn't a huge issue... but it's memory usage stabilises at about 1.2gb. Impressive.

I looked around a little and it looks like electrolysis isn't in 37, so I guess I won't be checking that. 37's performance was impressive enough for me :lol:

Tharn

Re: Electrolysis, or more chromification

Unread post by Tharn » 2015-04-23, 09:01

To me this is just chasing responsiveness by all means. Multi-process does have one advantage: Scrolling and messing around in one tab should never impact another tab's performance, if you're doing something split-screen for example. There are ways to make this work in single-process, but Mozilla obviously never much cared for it. The old Opera for example was extremely light in that way; a tab that wasn't actively displayed usually didn't impact CPU or graphics hardware at all, and UI rendering was likewise entirely separate. Firefox has always had a sluggish UI thanks to XUL and compromised browser smoothness when multiple tabs were displayed/used at the same time. I'd rather see them improve their segregation of different parts of the browser than go full Chrome.

dudewithit

Re: Electrolysis, or more chromification

Unread post by dudewithit » 2015-04-23, 13:59

I use Nightly, and frankly, with e10s, the responsiveness is much better.
As per the default settings, there will only be two processes : 1 Firefox, and 1 Process-Container. So opening 10 tabs gives only 2 processes. another good thing about e10s is that when you close the tab, all the memory is automatically released with the process. Without e10s, a lot of memory "stays", and cant be reduced through about:memory.

I have altered the preference to spawn 6 process-containers (which is a unsupported config, currently). The memory use is definitely higher, but the added responsivity is worth it.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35651
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Electrolysis, or more chromification

Unread post by Moonchild » 2015-04-23, 16:17

dudewithit wrote:another good thing about e10s is that when you close the tab, all the memory is automatically released with the process.
That would only be the case if you use 1 process per tab, not using one content container. I think if you have 100 tabs open in that case, with 100 processes running, your responsiveness will be terrible -- and that would be your system responsiveness, not the responsiveness of just the browser. At 62MB overhead per process (not counting what a loaded page would actually take...) you're looking at - at least - 6.2GB memory usage as well in that scenario.
I don't know about you, but I tend to have more open than just a browser and would like to be able to use the other applications ;)
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

New Tobin Paradigm

Re: Electrolysis, or more chromification

Unread post by New Tobin Paradigm » 2015-04-23, 17:03

Moonchild wrote:I don't know about you, but I tend to have more open than just a browser and would like to be able to use the other applications ;)
Off-topic:
And this is why we are in this situation.. because they think that IS all we have open.. and much of the time and for most people they MAY be right. This is amazing though.. After going days of hearing about ~20 some megs is too much to endure that several gigs is a-ok just drives me insane...

Supernova

Re: Electrolysis, or more chromification

Unread post by Supernova » 2015-04-23, 17:13

Matt A Tobin wrote:
Off-topic:
And this is why we are in this situation.. because they think that IS all we have open.. and much of the time and for most people they MAY be right. This is amazing though.. After going days of hearing about ~20 some megs is too much to endure that several gigs is a-ok just drives me insane...
Off-topic:
As for myself, I have always between 5 and 10 other programs opened at the same time.

megaman

Re: Electrolysis, or more chromification

Unread post by megaman » 2015-04-23, 18:51

Off-topic:
Matt A Tobin wrote:And this is why we are in this situation.. because they think that IS all we have open.. and much of the time and for most people they MAY be right. This is amazing though.. After going days of hearing about ~20 some megs is too much to endure that several gigs is a-ok just drives me insane...
I don't know what Opera did but they would keep everything as one thread for the whole browser and not use much RAM.
If you guys can pull it off for Palemoon and reduce the RAM consumption without sacrificing performance, that's an amazing feat. Not that Palemoon hasn't already done something similar but the more the merrier.

DAOWAce

Re: Electrolysis, or more chromification

Unread post by DAOWAce » 2015-06-16, 18:29

megaman wrote:
Moonchild wrote:http://ie.microsoft.com/testdrive/Graph ... fault.html and watch the task manager memory usage for it while you scroll back and forth a few times.
We might have to take note on the FPS.
Electrolys had a low drop of 48, yet it was hardly fluctuating, 60 most of the time.
Without Electrolytes, it would fluctuate wildly and even drop below the 40s, but not lower than the upper 30s.
PM had a rare drop of 43, other than that it maintained a stable 60; with a few drops to the upper 50s.
Ignoring FPS is folly. Memory usage shouldn't be the main priority (still important); it should be performance and responsiveness; the two things Firefox has completely failed on for as long as I've used the browser (3.0). This was the sole reason I installed Chrome many years ago, and I love the performance, but hate everything else about it. I only use it for specific things.. like 60FPS Youtube videos and other media content.

Totally irrelevant to e10s, but in my testing of this, PM stated it ran at 60, but it clearly wasn't running at a solid 60. Scrolling wasn't smooth, had a microstutter effect to it or microsecond drops to a lower framerate, repeatedly. The FPS display only dropped to 53 occasionally. It was maxing out a CPU core, but didn't increase in memory usage.

Comparing to Chrome, it was a completely solid 60 and very smooth visually; a night and day difference. Memory usage started around 90 then slowly crept up for as long as I kept 'scrolling'. It peaked out around 265MB before I got tired of it and close it (roughly a minute). It used an average of half a CPU core.

I didn't test Firefox as I don't use it anymore and my installed version is v28; I will not update nor install any nightly builds.


Anyway, the takeaway from my searching about e10s on the forum is that it's yet another thing PaleMoon won't be implementing. This will break future addons designed for it; like LastPass, of which I just tested a development build. Surprise, it doesn't work at all and is even listed as incompatible in the addon list. A shame, because I have severe performance issues with it I've been trying to troubleshoot since Firefox 22.

megaman

Re: Electrolysis, or more chromification

Unread post by megaman » 2015-06-16, 18:38

DAOWAce wrote:Ignoring FPS is folly. Memory usage shouldn't be the main priority (still important); it should be performance and responsiveness
Back when the test was brought-up, we were using an older version. I assume you are using version 25.5.0.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35651
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: Electrolysis, or more chromification

Unread post by Moonchild » 2015-06-17, 11:18

If extensions are going to break in a single-process instance, they will also break in Firefox. Firefox will always have a single-process mode for certain situations where e10s simply cannot be used. Keep in mind that adding support for multi-process communication does not mean that it will automatically stop working if the multiple number of processes is equal to 1. Similarly to software being able to run on multiple cores in parallel, but if the core count is 1, it won't be an issue.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite