e10s-multi
- Virtual_ManPL
- Posts: 2052
- Joined: July 24th, 2008, 5:52 am
- Contact:
Re: e10s-multi
@ GHM113 - Don't forget that it's depends on how many threads your CPU has, try it on 1 or 2 threaded CPU and results can be very different, or at least it was in my tests.
Virtualfox persona
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
-
- Posts: 496
- Joined: November 5th, 2002, 1:35 pm
- Location: Tallinn, Estonia
Re: e10s-multi
https://bugzilla.mozilla.org/show_bug.cgi?id=1304546 - was it already enabled on Aurora 54?
- Virtual_ManPL
- Posts: 2052
- Joined: July 24th, 2008, 5:52 am
- Contact:
Re: e10s-multi
@ Ezh - Basing on https://bugzilla.mozilla.org/show_bug.cgi?id=1304546#c8, yes.
Virtualfox persona
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
- GHM113
- Posts: 707
- Joined: December 16th, 2015, 3:59 am
- Location: Moscow, Russia
Re: e10s-multi
It looks like Nightly suffers from the same problem as Chrome browsers: more content processes provide smoother scrolling but require more CPU power so if your processor is not fast enough you are gonna experience a degradation in performance. I've just installed Vivaldi and the scrolling seemed to be smooth when I had 3-5 tabs loading at once but as soon as I started opening one link after another CPU usage jumped to 100% and the scrolling fps dropped considerably.Virtual_ManPL wrote:@ GHM113 - Don't forget that it's depends on how many threads your CPU has, try it on 1 or 2 threaded CPU and results can be very different, or at least it was in my tests.
It looks like I'll have to upgrade to 10-core Kaby Lake if I want to enjoy 60 fps scrolling in Vivaldi. Since Firefox is switching to WebRender that uses GPU to render the web pages, videocard is going to be the bottleneck in this case so I'll have to buy Titan Volta for Firefox
Yes, my Aurora uses 4 content processes by default.Ezh wrote:https://bugzilla.mozilla.org/show_bug.cgi?id=1304546 - was it already enabled on Aurora 54?
Sorry for my poor English.
-
- Posts: 269
- Joined: February 7th, 2013, 3:19 pm
Re: e10s-multi
Well, I didn't say you were *wrong*, but you were missing some important details.Virtual_ManPL wrote:Yet, you sill said nearly exactly the same thing as me... or maybe I'm missing point or I didn't understood properly
I'm just sharing my opinion based on my tests, but even looking on Mozilla developers, they have the same results.
Imagine having for example 4 content processes and 20 open tabs. This means (to keep it simple) 5 tabs per process. Now, if in one of these processes, a tab starts hogging resources, it will affect the performance of all other tabs in the same process. If it had a process of its own, the impact would have been a lot less.Virtual_ManPL wrote:Only for protecting tabs from crashes,
in other ways, I didn't observed any performance gains for having more web processes than CPU threads,
just only more memory.
Of course, the question is whether this is worth the extra memory usage, and at the moment, I tend to say no. I just wanted to clarify that "optimal" is a rather vague concept, and that there isn't an actual "optimal" solution. What would be cool, imo, is being able to put known heavy websites (such as Facebook, or when playing a game) in their own process, while still grouping other tabs together.
- Omega X
- Posts: 8225
- Joined: October 18th, 2007, 2:38 pm
- Location: A Parallel Dimension...
Re: e10s-multi
Its not quite the same since Chrome based browsers will open a process for each tab/website. The hard limit is going to be 4 content processes for the time being. Also, Webrender can't be super demanding since its being tooled for mobile as well. If a recent Intel graphics chip can't handle it, I'd be surprised. Also, don't forget Stylo which should be faster than what's there now.GHM113 wrote:It looks like Nightly suffers from the same problem as Chrome browsers: more content processes provide smoother scrolling but require more CPU power so if your processor is not fast enough you are gonna experience a degradation in performance. I've just installed Vivaldi and the scrolling seemed to be smooth when I had 3-5 tabs loading at once but as soon as I started opening one link after another CPU usage jumped to 100% and the scrolling fps dropped considerably.Virtual_ManPL wrote:@ GHM113 - Don't forget that it's depends on how many threads your CPU has, try it on 1 or 2 threaded CPU and results can be very different, or at least it was in my tests.
It looks like I'll have to upgrade to 10-core Kaby Lake if I want to enjoy 60 fps scrolling in Vivaldi. Since Firefox is switching to WebRender that uses GPU to render the web pages, videocard is going to be the bottleneck in this case so I'll have to buy Titan Volta for Firefox
Yes, my Aurora uses 4 content processes by default.Ezh wrote:https://bugzilla.mozilla.org/show_bug.cgi?id=1304546 - was it already enabled on Aurora 54?
-
- Posts: 1934
- Joined: February 10th, 2008, 6:30 am
- Location: Hungary
Re: e10s-multi
By the way. What's that supposed to be? They keep referring to "lazy browsers" and "lazy tabs" on bugzilla all the time, but they never mention what it's supposed to be.squall_leonhart wrote:no thanks, not till lazy tabs are implemented completely.Virtual_ManPL wrote:Mozilla should implement a heuristic to replace dom.ipc.processCount (Bug 1066789).GHM113 wrote:It looks like it is time to enable 8 content processes in Nightly
- Virtual_ManPL
- Posts: 2052
- Joined: July 24th, 2008, 5:52 am
- Contact:
Re: e10s-multi
Exacly and that's the point for implementing a heuristic to replace dom.ipc.processCount (Bug 1066789) to not slow down old CPUs more and to use more threads which new CPUs have.GHM113 wrote:It looks like Nightly suffers from the same problem as Chrome browsers: more content processes provide smoother scrolling but require more CPU power so if your processor is not fast enough you are gonna experience a degradation in performance. I've just installed Vivaldi and the scrolling seemed to be smooth when I had 3-5 tabs loading at once but as soon as I started opening one link after another CPU usage jumped to 100% and the scrolling fps dropped considerably.Virtual_ManPL wrote:@ GHM113 - Don't forget that it's depends on how many threads your CPU has, try it on 1 or 2 threaded CPU and results can be very different, or at least it was in my tests.
There aren't any 10 core Kaby Lake,GHM113 wrote:It looks like I'll have to upgrade to 10-core Kaby Lake if I want to enjoy 60 fps scrolling in Vivaldi.
only 4 core ones with 8 threads.
Firefox is already using GPU rendering via Direct3D and OpenGL, so don't worry about it.GHM113 wrote:Since Firefox is switching to WebRender that uses GPU to render the web pages, videocard is going to be the bottleneck in this case so I'll have to buy Titan Volta for Firefox
So explain which one, as still didn't see any.Timvde wrote:Well, I didn't say you were *wrong*, but you were missing some important details.Virtual_ManPL wrote:Yet, you sill said nearly exactly the same thing as me... or maybe I'm missing point or I didn't understood properly
I'm just sharing my opinion based on my tests, but even looking on Mozilla developers, they have the same results.
"You missing some important details" as it's only optimal and valid for 4 threaded CPUs.Timvde wrote:Imagine having for example 4 content processes and 20 open tabs. This means (to keep it simple) 5 tabs per process. Now, if in one of these processes, a tab starts hogging resources, it will affect the performance of all other tabs in the same process. If it had a process of its own, the impact would have been a lot less.Virtual_ManPL wrote:Only for protecting tabs from crashes,
in other ways, I didn't observed any performance gains for having more web processes than CPU threads,
just only more memory.
If you will have 1 or 2 threaded CPU, and also you will have "dom.ipc.processCount" set to value which is more than how much threads your CPU has, like 4 by default for now on Nightly, you will experience massive GUI slowdown, sometimes hanging GUI and even in serious cases mouse movement will be laggy, on more then 2 heavy hoggy websites pages, at least it's in my case with my tests on various hardware.
There is always optimal setting,Timvde wrote:Of course, the question is whether this is worth the extra memory usage, and at the moment, I tend to say no. I just wanted to clarify that "optimal" is a rather vague concept, and that there isn't an actual "optimal" solution. What would be cool, imo, is being able to put known heavy websites (such as Facebook, or when playing a game) in their own process, while still grouping other tabs together.
if it's not, that's why heuristic exist.
The "lazy tabs" are only for session restoration. It won't help in any way with stifle performance hoggy websites in foreground and background tab, which are already opened and loaded. For this we need some tab discarding and complete tab halting etc.avada wrote: By the way. What's that supposed to be? They keep referring to "lazy browsers" and "lazy tabs" on bugzilla all the time, but they never mention what it's supposed to be.
Virtualfox persona
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
-
- Posts: 269
- Joined: February 7th, 2013, 3:19 pm
Re: e10s-multi
I'd be *really* surprised by that. That's not how computers work.Virtual_ManPL wrote:If you will have 1 or 2 threaded CPU, and also you will have "dom.ipc.processCount" set to value which is more than how much threads your CPU has, like 4 by default for now on Nightly, you will experience massive GUI slowdown, sometimes hanging GUI and even in serious cases mouse movement will be laggy, on more then 2 heavy hoggy websites pages, at least it's in my case with my tests on various hardware.
-
- Posts: 469
- Joined: August 30th, 2012, 4:27 am
Re: e10s-multi
Yeah, if you are testing on such limited CPUs you would often be running with very slow/weak other hardware that could be the bottleneck and not actually the CPU.Timvde wrote:I'd be *really* surprised by that. That's not how computers work.Virtual_ManPL wrote:If you will have 1 or 2 threaded CPU, and also you will have "dom.ipc.processCount" set to value which is more than how much threads your CPU has, like 4 by default for now on Nightly, you will experience massive GUI slowdown, sometimes hanging GUI and even in serious cases mouse movement will be laggy, on more then 2 heavy hoggy websites pages, at least it's in my case with my tests on various hardware.
- Virtual_ManPL
- Posts: 2052
- Joined: July 24th, 2008, 5:52 am
- Contact:
Re: e10s-multi
You should know that increasing processes won't bring magically performance increase,Timvde wrote:I'd be *really* surprised by that. That's not how computers work.Virtual_ManPL wrote:If you will have 1 or 2 threaded CPU, and also you will have "dom.ipc.processCount" set to value which is more than how much threads your CPU has, like 4 by default for now on Nightly, you will experience massive GUI slowdown, sometimes hanging GUI and even in serious cases mouse movement will be laggy, on more then 2 heavy hoggy websites pages, at least it's in my case with my tests on various hardware.
but proper multi-threading support will do, as process != thread.
We don't need thousands processes to get proper performance management,
which use everything what your PC can give with making everything responsive.
That's why Chromium is so much bloaty hog right now.
So properly setting the "dom.ipc.processCount" value, do some magic, at least in my cases.Are You A Wiiizard? wrote:Yeah, if you are testing on such limited CPUs you would often be running with very slow/weak other hardware that could be the bottleneck and not actually the CPU.Timvde wrote:I'd be *really* surprised by that. That's not how computers work.Virtual_ManPL wrote:If you will have 1 or 2 threaded CPU, and also you will have "dom.ipc.processCount" set to value which is more than how much threads your CPU has, like 4 by default for now on Nightly, you will experience massive GUI slowdown, sometimes hanging GUI and even in serious cases mouse movement will be laggy, on more then 2 heavy hoggy websites pages, at least it's in my case with my tests on various hardware.
Virtualfox persona
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
Tired of constant Firefox UI changes? XUL extensions are not working anymore? Try SeaMonkey, Waterfox Classic, Pale Moon.
-
- Posts: 45
- Joined: August 28th, 2012, 4:50 pm
Re: e10s-multi
The 54 beta release will have a blind taste test for e10s-multi.
https://bugzilla.mozilla.org/show_bug.cgi?id=1349363
Looking at the code, it appears beta users will have 25% chance each of having either 1, 2, 4 or 8 content processes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1349363
Looking at the code, it appears beta users will have 25% chance each of having either 1, 2, 4 or 8 content processes.
- GHM113
- Posts: 707
- Joined: December 16th, 2015, 3:59 am
- Location: Moscow, Russia
Re: e10s-multi
I decided to test Nightly one more time. 4-core 4-thread i5 2300 2.8 Ghz, Nightly 22-04-17, uBO, Tab Mix Plus and NoScript installed, disk cache disabled. Testing methodology:
Load 9 tabs aka tab #1, tab #2, tab #3,..., tab #9 with different web pages (instagram, wccftech, yandex, etc)
Start loading 100 bookmarks in the background using "Open all in tabs"
<Start measuring time>
Switch to tab #1, wait until the contents of tab #1 are rendered
Switch to tab #2, wait until the contents of tab #2 are rendered
Switch to tab #3, wait until the contents of tab #3 are rendered
..
Switch to tab #9, wait until the contents of tab #9 are rendered
<Stop measuring time>
Results:
//CPU usage stayed at 100% with 4,6,8,16 content processes
4 content processes: 15 seconds
6 content processes: 17 seconds
8 content processes: 20 seconds
16 content processes: 27 seconds
So this data pretty much confirms what Virtual_ManPL said before: more threads are better only if you have enough CPU power to feed them Now I need to figure out how to measure scrolling smoothness
Load 9 tabs aka tab #1, tab #2, tab #3,..., tab #9 with different web pages (instagram, wccftech, yandex, etc)
Start loading 100 bookmarks in the background using "Open all in tabs"
<Start measuring time>
Switch to tab #1, wait until the contents of tab #1 are rendered
Switch to tab #2, wait until the contents of tab #2 are rendered
Switch to tab #3, wait until the contents of tab #3 are rendered
..
Switch to tab #9, wait until the contents of tab #9 are rendered
<Stop measuring time>
Results:
//CPU usage stayed at 100% with 4,6,8,16 content processes
4 content processes: 15 seconds
6 content processes: 17 seconds
8 content processes: 20 seconds
16 content processes: 27 seconds
So this data pretty much confirms what Virtual_ManPL said before: more threads are better only if you have enough CPU power to feed them Now I need to figure out how to measure scrolling smoothness
Sorry for my poor English.
-
- Posts: 269
- Joined: February 7th, 2013, 3:19 pm
Re: e10s-multi
Of course, I never said it wasn't when pushing them all to 100%. Let me quote myself:GHM113 wrote:So this data pretty much confirms what Virtual_ManPL said before: more threads are better only if you have enough CPU power to feed them Now I need to figure out how to measure scrolling smoothness
5 processes might or might not be slightly better with 4 cores. That'll depend on network latency. It's a pretty thin line anyway.Timvde wrote:In this case, the question is whether the current process is busy with other things. When he is loading a bunch of tabs in the background like he said before and all processes are 100% busy, it is probably indeed better to have the same number of processes as your CPU has threads (or just a little more actually, since these processes will sometimes be waiting for I/O, and you want to run other render stuff on your CPU at that point). If not much is happening on the background, a higher dom.ipc.processCount is better, since it will be more like one tab per process.
But hogging all your cores to 100% is not the common use case, and more processes will prevent a badly behaving tab from impacting others.
- GHM113
- Posts: 707
- Joined: December 16th, 2015, 3:59 am
- Location: Moscow, Russia
Re: e10s-multi
Thank you, I was not trying to argue with you, I just posted my observations. I actually like what you are saying, that means Nightly will get a performance boost once I upgrade to a 6/8-core processorTimvde wrote:Of course, I never said it wasn't when pushing them all to 100%. Let me quote myself:
Sorry for my poor English.