Why performance of Chromium-based browsers suck on Linux?
by fulalas from LinuxQuestions.org on (#5SWQF)
After using Opera for more than 2 decades (!), this week I was surprised by this new Firefox during a live distro testing.
I switched from Windows 7 to Porteus Linux in 2016 and I noticed that all Chromium-based browsers don't perform as well as they do on Windows. I tried to used the flag --disable-frame-rate-limit, which in fact improves scrolling performance, at least on my high refresh rate monitor, but the caveat is that is uses too much CPU and sometimes it stutters.
Take a look at this comparison between default Chromium 96 settings (no extra flags) and Firefox 91.4 ESR while scrolling -- maybe people with 60 Hz monitor won't notice much difference, but in person the difference is night and day (I had to avoid YouTube for this one because it's a 120 FPS video):
https://www.mediafire.com/file/ssaxr...x-vs-Opera.mkv
Both Firefox and Opera enable smooth scroll by default and that's how I tested both. As I said before, running Opera with --disable-frame-rate-limit flag (which I didn't in the video above) improves scroll performance drastically, but it stutters sometimes and the CPU usage is much higher. Maybe that's the main problem in this regard: Firefox renders by default up to the monitor refresh rate, while Opera renders by default at 60 Hz and if you use the magic flag it goes to the sky, consuming CPU like a crazy.
I did the same test on Opera 82 and Chrome 93 just to make sure but the result is basically the same. I have the following extensions installed (but removing doesn't affect the test above): No Script Suite Lite (to block JS) and ad-block (uBlock Origin for Firefox while Opera has a built-in).
But wait because there's more! This is the CPU usage while running a 1080p 60 FPS YouTube video:
https://youtu.be/_ZmbSNQsQ7A
That's a huge difference! On Opera the test above is even worse than Chromium. Good luck trying to put GPU video acceleration to work on Chromium-based browsers and Nvidia cards... :rolleyes:
Finally, memory consumption with just one web page loaded:
Firefox 91.4 ESR: 680 MB
Opera 82: 1433 MB
I repeated these tests on Lubuntu 21.04 and the results are pretty much the same.
-----
We all know that Firefox is far from being perfect. For developers sometimes it's a nightmare to debug, especially extensions. Also, lazy load feature is much slower than on Chromium-based browsers. Also, I'm not convinced by this new Proton UI. But, considering the whole package, at least on Linux and with high refresh monitors, the responsiveness of modern Firefox is my new reference -- I can't go back to Chromium-based browsers anymore. And, hey, bonus thing: Firefox is open source :)
My system just for reference:
Linux Porteus x64 dev build (based on Slackware current)
Nvidia GTX 1650 Super with proprietary driver 460.91.03
Intel i3 101050 4c/4t @ 4.4 GHz
16 GB RAM
I switched from Windows 7 to Porteus Linux in 2016 and I noticed that all Chromium-based browsers don't perform as well as they do on Windows. I tried to used the flag --disable-frame-rate-limit, which in fact improves scrolling performance, at least on my high refresh rate monitor, but the caveat is that is uses too much CPU and sometimes it stutters.
Take a look at this comparison between default Chromium 96 settings (no extra flags) and Firefox 91.4 ESR while scrolling -- maybe people with 60 Hz monitor won't notice much difference, but in person the difference is night and day (I had to avoid YouTube for this one because it's a 120 FPS video):
https://www.mediafire.com/file/ssaxr...x-vs-Opera.mkv
Both Firefox and Opera enable smooth scroll by default and that's how I tested both. As I said before, running Opera with --disable-frame-rate-limit flag (which I didn't in the video above) improves scroll performance drastically, but it stutters sometimes and the CPU usage is much higher. Maybe that's the main problem in this regard: Firefox renders by default up to the monitor refresh rate, while Opera renders by default at 60 Hz and if you use the magic flag it goes to the sky, consuming CPU like a crazy.
I did the same test on Opera 82 and Chrome 93 just to make sure but the result is basically the same. I have the following extensions installed (but removing doesn't affect the test above): No Script Suite Lite (to block JS) and ad-block (uBlock Origin for Firefox while Opera has a built-in).
But wait because there's more! This is the CPU usage while running a 1080p 60 FPS YouTube video:
https://youtu.be/_ZmbSNQsQ7A
That's a huge difference! On Opera the test above is even worse than Chromium. Good luck trying to put GPU video acceleration to work on Chromium-based browsers and Nvidia cards... :rolleyes:
Finally, memory consumption with just one web page loaded:
Firefox 91.4 ESR: 680 MB
Opera 82: 1433 MB
I repeated these tests on Lubuntu 21.04 and the results are pretty much the same.
-----
We all know that Firefox is far from being perfect. For developers sometimes it's a nightmare to debug, especially extensions. Also, lazy load feature is much slower than on Chromium-based browsers. Also, I'm not convinced by this new Proton UI. But, considering the whole package, at least on Linux and with high refresh monitors, the responsiveness of modern Firefox is my new reference -- I can't go back to Chromium-based browsers anymore. And, hey, bonus thing: Firefox is open source :)
My system just for reference:
Linux Porteus x64 dev build (based on Slackware current)
Nvidia GTX 1650 Super with proprietary driver 460.91.03
Intel i3 101050 4c/4t @ 4.4 GHz
16 GB RAM