You are not logged in.

#1 2021-05-25 02:59

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Hacking/improving Firefox performance

Hi everyone! Hope you're all having a nice life! smile

For a few months now, I've been using Firefox in a daily basis, in fact, I'm writing this from it. Thing is, I noticed it kind of started to become slower, and then I'm back to chromium, which is my primary browser and IMHO it's a bit faster, but I do like some FF features, so I started searching for some "hacks", tips, tricks or whatever to try and see if I could improve its performance, and found this https://mastransky.wordpress.com/ though it's focused on Fedora's FF package, it does provide some good advice on tweaking Mozilla's browser to get the best out of it. So I read  most of the posts, the recent ones, tried some recommendations and am currently running FF with these settings:

# "plain" OpenGL
gfx.canvas.azure.accelerated (boolean) true
gfx.xrender.enabled (boolean) false #true conflicts with webrender
layers.accelerate-all (boolean) true
layers.acceleration.force-enabled (boolean) true

# WebRender
gfx.webrender.all (boolean) true
gfx.webrender.compositor (boolean) true
gfx.webrender.enabled (boolean) true

# VA-API
media.ffmpeg.dmabuf-textures.enabled (boolean) true
media.ffmpeg.vaapi.enabled (boolean) true
media.ffvpx.enabled (boolean) false
media.ffmpeg.low-latency.enabled false
media.navigator.mediadatadecoder_vpx_enabled false
media.rdd-ffvpx.enabled false
media.rdd-vpx.enabled false
widget.dmabuf-textures.enabled (boolean) true

To apply those, go to about:config in FF, click on I accept the risk message/warning and start typing in the search box each of the above, set the value to either True or False as appropriate, restart Firefox and that's it. After applying those, I've seen a significant improvement in FF's performance, for instance, when I clicked the X button, it took a while to close, now it doesn't and closes almost instantaneously smile  This is also another good source of info https://fedoraproject.org/wiki/How_to_d … x_problems

Well, I hope this helps someone else if having issues with FF like I was smile

Last edited by Tolkem (2021-05-25 14:32)

Offline

#2 2021-05-25 05:47

bin
Member
From: U.K.
Registered: 2016-01-28
Posts: 1,148

Re: Hacking/improving Firefox performance

Interesting - definite improvement on starting and rendering

Good job!

Having worked through and compared my settings and altered where relevant it's a good idea to create a user.js file which can then just be dropped in to your default profile folder - until FF stop it being used.

Actually I'm not convinced user.js works any more - need to test on older laptop to be certain.

user_pref("gfx.canvas.azure.accelerated", true);
user_pref("gfx.xrender.enabled", false); 
user_pref("layers.accelerate-all", true);
user_pref("layers.acceleration.force-enabled", true);
user_pref("gfx.webrender.all", true);
user_pref("gfx.webrender.compositor", true);
user_pref("gfx.webrender.enabled", true);
user_pref("media.ffmpeg.dmabuf-textures.enabled", true);
user_pref("media.ffmpeg.vaapi.enabled", true);
user_pref("media.ffvpx.enabled", false);
user_pref("media.ffmpeg.low-latency.enabled", false);
user_pref("media.navigator.mediadatadecoder_vpx_enabled", false);
user_pref("media.ffvpx.enabled", false);
user_pref("media.rdd-ffvpx.enabled", false); 
user_pref("media.rdd-vpx.enabled", false);
user_pref("widget.dmabuf-textures.enabled", true);

layers.acceleration.force-enabled seems to cause a black border round the hamburger and other dropdowns - not menu bar items.

Last edited by bin (2021-05-25 12:23)

Offline

#3 2021-05-25 13:24

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

Actually I'm not convinced user.js works any more - need to test on older laptop to be certain.

I kind of remember reading somewhere that it doesn't, and a quick web search reveals that might be the case https://support.mozilla.org/en-US/kb/cu … autoconfig

layers.acceleration.force-enabled seems to cause a black border round the hamburger and other dropdowns - not menu bar items.

It doesn't for me here.

Last edited by Tolkem (2021-05-25 13:51)

Offline

#4 2021-05-25 13:49

Midas
Member
Registered: 2017-12-15
Posts: 131

Re: Hacking/improving Firefox performance

Ghacks.net was a great resource on FF 'user.js' tips, but the last post about it is over a year old:

A bug report opened about nine months ago on Mozilla's Bugzilla bug tracking site for Firefox suggests that the organization could disable reading the user.js file of the Firefox browser by default in the future.

@ www.ghacks.net/2020/01/06/please-mozilla-dont-touch-the-user-js-functionality-in-firefox/

Offline

#5 2021-05-25 14:35

bin
Member
From: U.K.
Registered: 2016-01-28
Posts: 1,148

Re: Hacking/improving Firefox performance

Tolkem wrote:

layers.acceleration.force-enabled seems to cause a black border round the hamburger and other dropdowns - not menu bar items.

It doesn't for me here.

No, you're right. Looks like it is something else - still digging. May well be down to graphics chip/driver (i915)

Some of my other default settings were not the same as yours.

Still a damn site faster though smile

Offline

#6 2021-05-26 00:20

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

bin wrote:
Tolkem wrote:

layers.acceleration.force-enabled seems to cause a black border round the hamburger and other dropdowns - not menu bar items.

It doesn't for me here.

No, you're right. Looks like it is something else - still digging. May well be down to graphics chip/driver (i915)

Maybe. My laptop has an onboard AMD GPU.

Some of my other default settings were not the same as yours.

Still a damn site faster though smile

You mean faster using your settings of the ones I shared here?

Offline

#7 2021-05-26 05:25

bin
Member
From: U.K.
Registered: 2016-01-28
Posts: 1,148

Re: Hacking/improving Firefox performance

Tolkem wrote:

Some of my other default settings were not the same as yours.

Still a damn site faster though smile

You mean faster using your settings of the ones I shared here?

Sorry - no. Faster using your settings is what I was talking about. I just have to work back singly to see if I can find which setting or combination affects the drop down menus.

Offline

#8 2021-05-26 13:42

aluma
Member
From: Ukraine
Registered: 2018-03-12
Posts: 136

Re: Hacking/improving Firefox performance

Just for information, FF also has an "about: support" page.

Offline

#9 2021-05-26 15:42

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

aluma wrote:

Just for information, FF also has an "about: support" page.

Yes, it does. You can go there to check whether webrender is enabled or not, amongst other things, like verifying database integrity too.

Offline

#10 2021-05-26 23:40

crosscourt
Member
Registered: 2017-05-07
Posts: 1,764
Website

Re: Hacking/improving Firefox performance

I havent noticed any issues with FF88 as its fast and responds very quickly with good resource usage. I dont find Chrome/Chromium faster than Firefox in any respect.

Last edited by crosscourt (2021-05-27 02:50)


Q4OS Gemini KDE   Dell Latitude 3340 i3 1.7ghz/3340 1.4ghz celeron, 8gb ddr3, 256gb Adata SSD

Offline

#11 2021-05-27 03:24

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

I took some snapshots of both Firefox 88 and Chromium 90 with sysprof http://www.sysprof.com/
This in an HP 2000 notebook with this specs:

RAM: size: 2 GiB speed: spec: 800 MT/s actual: 533 MT/s type: DDR3 
          detail: synchronous unbuffered (unregistered) bus width: 64 bits total: 64 bits
CPU: Info: Dual Core model: AMD E-300 APU with Radeon HD Graphics bits: 64 type: MCP L2 cache: 512 KiB 
         Speed: 1284 MHz min/max: 780/1300 MHz Core speeds (MHz): 1: 1284 2: 1163 
Disk: Hitachi HDD 250 GiB rotation: 5400 rpm 

So yeah, quite a low specs machine. But it gets the job done smile

Firefox

2u73R2g.png

Chromium

AjMfVfW.png

As can be seen in the pictures above, Firefox's main process took longer to start with 41.62% and 35628 steps, while Chromium's took 30.80% and 22174 steps, 10% less than FF and around 13000 fewer steps. Though I'm still learning how to properly use this tool, If I've understood correctly what I've read https://blogs.gnome.org/chergert/2020/0 … ysprof-to/, these numbers indicate how much time(steps) spent each process in kernel(%) before actually starting, that is, before the user(me in this case) who launched them can use them. If someone else has a better knowledge on how to read those stats ... please do share with the rest of us smile

EDIT: By the way, forgot to mention that I launched FF without any of the changes I shared in this tutorial. I'll upload another one later today with those to compare and measure the impact they have in FF's performance. smile

Last edited by Tolkem (2021-05-27 15:40)

Offline

#12 2021-05-27 21:45

crosscourt
Member
Registered: 2017-05-07
Posts: 1,764
Website

Re: Hacking/improving Firefox performance

I go by how long it takes for the browser to load, sites to load and overall performance while using multimedia online. In that regard I see no improvement using Chrome/Chromium over Firefox. In fact Firefox performs a bit better in my opinion. Resource usage in my case is a bit better with Firefox versus Chromium. I run it both in Linux and Win10 and the results are the same. In general use, judging my browsers by how quickly they can load and play content is the only thing that matters to me.
Ive run it on everything from a Ryzen 5 system to a first generation i5 cpu and the results in comparison to Chromium are the same.
Certainly running low spec systems its going to be a bit more of a challenge but I cant speak to that as I dont run low end systems.


Q4OS Gemini KDE   Dell Latitude 3340 i3 1.7ghz/3340 1.4ghz celeron, 8gb ddr3, 256gb Adata SSD

Offline

#13 2021-05-28 14:44

Midas
Member
Registered: 2017-12-15
Posts: 131

Re: Hacking/improving Firefox performance

FWIW, I stick with FF as a matter of principle...

I have seen several instances where Chrome/ium based browsers are more efficient than FF, but none that would be completely decisive.

And I didn't live through Internet Explorer's reign to see it replaced by Chrome/ium, considering it now holds over 80% of browser share and FF appears to be the only remaining alternative. This just my 2c.

Offline

#14 2021-05-28 15:25

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

Certainly running low spec systems its going to be a bit more of a challenge but I cant speak to that as I dont run low end systems.

I agree. That's probably why our experiences differ from each other, but then that begs the question, does Chromium do better than FF in low specs machines such as mine? Wouldn't that imply, even if insignificant and unnoticeable to the user, that it should do better in a higher specs one?

In that regard I see no improvement using Chrome/Chromium over Firefox.

I have seen several instances where Chrome/ium based browsers are more efficient than FF

Chrome and Chromium are not the same thing, for one, Chrome contains code Chromium does not, Chromium is the open source Chrome's alternative, even though they're both developed by Google, but as you probably know, even Chromium isn't using Google's APIs anymore since last March. I've used Chrome in this machine too, and it is slower than Chromium, because of what I mentioned above. I like some FF features but others I do not so much, for example, I recently installed Fedora 34 in a VM and wanted to import FF's profile by simply copying over the one from Q4OS, but it didn't work since I needed to log in to my FF account for me to have my bookmarks, passwords and everything else available in the VM, this was not the case with Chromium; I copied the Chromium's profile, launched it and voilà! All my data was available, and it does run faster too. I believe the problem might be that FF uses SQLite and Chromium doesn't, this is probably why in a machine with an SSD you won't notice any difference in performance, or at least that's been my experience.

Last edited by Tolkem (2021-05-28 15:27)

Offline

#15 2021-05-28 16:18

aluma
Member
From: Ukraine
Registered: 2018-03-12
Posts: 136

Re: Hacking/improving Firefox performance

The difference between FF and Cromium is noticeable only on my Lenovo with 05 (AMD E300 / 4Gb / 300Gb) and is manifested only in a higher (one step) resolution of video from the Internet in the first one.
The rest is almost the same.

But on a desktop with an old E8400 processor and built-in intel video, there are no brakes with video in FF, and the pages open instantly even via wifi.

Regarding the search for optimal settings, I do not know, there may be such ones, but I tried the FF clone (the so-called Light), which was lightened to a minimum. I did not see any particular advantages.


PS.
Hi, Tolkem
I apologize for the link in Russian, probably there is also the one you need.
This is a list of FF settings files, I copied them when it was necessary to transfer the profile.
https://support.mozilla.org/ru/kb/profi … i-paroli-i

Last edited by aluma (2021-05-28 18:13)

Offline

#16 2021-05-28 18:03

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

aluma wrote:

The difference between FF and Cromium is noticeable only on my Lenovo with 05 (AMD E300 / 4Gb / 300Gb) and is manifested only in a higher (one step) resolution of video from the Internet in the first one.
The rest is almost the same.

My laptop has an AMD GPU too,

But on a desktop with an old E8400 processor and built-in intel video, there are no brakes with video in FF, and the pages open instantly even via wifi.

I think one of the desktops here at home has an Intel GPU. Hmmm ... crosscourt's machine does seem  to have an Intel GPU as well, I wonder, could it be that Chromium does perform better with AMD?

Regarding the search for optimal settings, I do not know, there may be such ones, but I tried the FF clone (the so-called Lite), which was lightened to a minimum. I did not see any particular advantages.


PS.
Hi, Tolkem
I apologize for the link in Russian, probably there is also the one you need.
This is a list of FF settings files, I copied them when it was necessary to transfer the profile.
https://support.mozilla.org/ru/kb/profi … i-paroli-i

Thanks for the link, however, it is only available in Russian; I get Page not found in English. What files are you talking about? It should be possible to only copy .mozilla's folder from $HOME to the desired destination for this to work, that's how it does with Chromium, and it did with Opera too last time I used it.

Offline

#17 2021-05-28 18:09

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

Chrome 91 Benchmarks On Linux Showing Off Even Better Performance

Chrome 91 released this week with WebAssembly SIMD by default, new JavaScript APIs, and other improvements. Plus there are also some performance improvements too, here are some benchmarks.

Yesterday the Chromium Blog published a new post outlining that Chrome 91 can be up to 23% faster and "saves over 17 years of CPU time daily". The Chrome 91 speed-ups come thanks to the new Sparkplug compiler, short built-in calls, and other work.

Following that post, I began running some benchmarks. I can indeed confirm that Chrome 91 is faster than Chrome 90, but at least in the web benchmarks being run, not seeing ~23% faster but generally faster by single digit percentages over the prior Chrome 90 stable.

https://www.phoronix.com/scan.php?page= … Benchmarks

Offline

#18 2021-05-28 18:33

aluma
Member
From: Ukraine
Registered: 2018-03-12
Posts: 136

Re: Hacking/improving Firefox performance

Chromium has a faster video codec, maybe only for YouTube.

Files FF:
"What information is stored in my profile?
Note: This is not a complete list. Only important information is provided.

Bookmarks, downloads and browsing history:

    places.sqlite
    This file contains all of your Firefox bookmarks, lists of all the files you've downloaded, and all the websites you've visited.
    bookmarkbackups
    This folder stores bookmark backup files that can be used to restore bookmarks.
    favicons.sqlite
    This file contains the favicons for your Firefox bookmarks.

For more information, see How to use bookmarks to remember and organize your favorite sites and Restore bookmarks from a backup or transfer them to another computer .

Passwords:

    key4.db
    logins.json

    Your passwords are stored in these two files. For more information, see Saved Passwords - Remember, Delete, Edit Passwords in Firefox .

    Site-specific settings:
    permissions.sqlite
    content-prefs.sqlite

    These two files store multiple Firefox permissions (for example, which sites are allowed to open pop-ups) or zoom levels set on a per-site basis (see Font size and page scale - increase the size of web pages ).

Search engines:

    search.json.mozlz4
    This file contains the search engines installed by the user. For more information, see Add or remove search engines in Firefox .

Personal dictionary:

    persdict.dat
    This file contains any additional words that you added to the Firefox dictionary. For more information, see How do I check spelling in Firefox? ...

Autocomplete history:

    formhistory.sqlite
    This file remembers what you searched for in the Firefox search bar and what information you entered in the fields on sites. For more information, see the article Manage Firefox Automatically Fill In Forms .

Cookies:

    cookies.sqlite
    Cookies are small pieces of data stored on your computer by the websites you visit. This is usually something like site settings or login status. All cookies are stored in this file.

DOM storage:

DOM storage is intended to provide a larger, safer, and easier-to-use alternative to storing information in cookies.

    webappsstore.sqlite
    Information for websites is stored in this file.
    chromeappsstore.sqlite
    This file stores information for about: * pages .

Extensions:

    extensions This folder, if it exists, stores the files for all the extensions you have installed. To learn more about Firefox extensions and other add-ons, see Find and install add-ons to add features to Firefox .

Security certificate settings:

    cert9.db
    This file contains all your security certificate settings and all SSL certificates that you imported into Firefox.

Protection device settings:

    pkcs11.txt
    This file stores the configuration of the protection modules.

File upload actions:

    handlers.json
    This file contains your settings that tell Firefox what to do when it sees certain file types. For example, these settings tell Firefox to open PDF files with Acrobat Reader when you click on them. For more information, see the article Changing how Firefox behaves when clicking or downloading a file .

Saved session:

    sessionstore.jsonlz4
    This file stores the currently open tabs and windows. For more information, see Restore a Previous Session - Setting when Firefox displays your most recent tabs and windows .

Toolbar settings:

    xulstore.json
    This file stores toolbar settings and window positions / sizes. For more information, see How to customize Firefox's toolbars, controls, and buttons .

Custom settings:

    prefs.js
    This file stores preferences modified by the user, such as the changes you made in the Firefox Preferences dialog box . The optional user.js file , if present, overrides any changed settings.

Containers:

    containers.json
    This file contains detailed information about the containers used by the Container Tabs feature , including those created by extensions such as Facebook Container."
At the first start, FF creates a folder, copy the ones we need there.

Offline

#19 2021-05-28 19:16

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

@aluma All those files are stored in .mozilla, so I expect that copying the whole dir over should work to have my settings and data available, but it doesn't, instead I have to log in to my FF account first, for it to work. I don't see why any user should have to go through the trouble of locating and copying individual files one by one, it is "our" data, isn't it? And yet, we can't access to it unless we're logged, even though it's all stored in our own local machines! I don't really care for Google or Mozilla, as far as I'm concerned they're both the same; big tech companies after our data and money, I don't like it, but it is what it is. So if FF can give me what I want and need, great, if it doesn't then I go to Chromium(not Chrome, they're not the same) if neither can fit my needs, I will go and try something else, opera, seamonkey, slimjet, vivaldi, brave and even Chrome as a last resort if that's what's required to have a "sane" and comfortable experience. Hell! I'd even be willing to try Edge lol So, just to be clear, I'm not promoting Chromium or any of that sort, if some people see my posts and replies that way, well they're just wrong. I will use what works best for me, just as anyone else (I guess) does, and I'm not trying to "convert" anyone to Chromium, if anything, I'm just sharing my experience, hoping that it might be of help for anyone else no matter what browser they use and prefer.

Offline

#20 2021-05-28 20:08

aluma
Member
From: Ukraine
Registered: 2018-03-12
Posts: 136

Re: Hacking/improving Firefox performance

I totally agree with you!
But we live in the age of monopolists and everyone wants to get their own benefit.

PS.
An example not relevant to the topic, as an example of the realities of the Internet.
On the next launch of Skype, Microsoft doubted my authenticity and asked for my mobile phone number.
Why do they need it?
Sell to anyone who wants to track my location?
I just deleted Skype.

Last edited by aluma (2021-05-28 20:25)

Offline

#21 2021-05-28 22:39

Tolkem
Member
Registered: 2019-10-06
Posts: 483

Re: Hacking/improving Firefox performance

Some of you might find this info helpful

https://mozilla.github.io/firefox-brows … tores.html

There are a total of 46 separate data stores in Firefox for desktop. Within these 46 stores, there are at least 10 different storage formats. Very few of these stores are well documented in the code.

https://docs.google.com/spreadsheets/d/ … 1269587388
https://github.com/mozilla/firefox-data-store-docs

Firefox desktop has 45 separate data stores. Firefox for iOS has 5, and Firefox for Android has 2, in addition to stores shared with desktop.

Only 9 shared domain objects can be found on all 3 platforms. One of those, favicons, is present but not synced at all.

Firefox desktop has an entire SQLite database, storage.sqlite, that contains no tables. It is used entirely to reference the schema version value and uses that value to create the version number for the Storage directory.

Firefox desktop stores over 1200 preferences in a single, synchronously accessed file. This file is read from and written to from all over the application.
Each individual write will cause the entire file to be written to disk at a later date.

Firefox for desktop utilises 10 different data storage formats.

Last edited by Tolkem (2021-05-28 23:49)

Offline

#22 2022-05-26 19:29

Midas
Member
Registered: 2017-12-15
Posts: 131

Re: Hacking/improving Firefox performance

Quick note to point that some 'user.prefs' options have been silently disabled in recent versions of Firefox -- especially those related to updates and telemetry.

So-called "Enterprise Policy Framework" is now the only way to enforce these options and it consists mostly of a placing a JSON file ('policies.json') in the 'distribution' sub-folder of Firefox's installation location.

In my case (Gemini TDE 4.8) the relevant path was '/usr/lib/firefox-esr/distribution' (which was in fact a symbolic link to '/usr/share/firefox-esr/distribution').

Setting a "ManualAppUpdateOnly" policy is the only way to avoid update nagging when you choose to update at your own leisure.

For more info, look for example at https://linuxreviews.org/HOWTO_Make_Moz … ing_Idiocy

ff-pol.png

Last edited by Midas (2022-05-26 19:37)

Offline

Board footer

Powered by FluxBB