Jump to content

Force "multiprocess mode" in FF 52


Recommended Posts


On 7/20/2021 at 10:14 AM, XPerceniol said:

........user_pref("dom.ipc.processHangMonitor", true);
~This is not hidden in Serpent and defaulted to true - does anybody know what this does?

(The following applies to St 55. May be true of St 52 too, but I haven't tested.)

I don't know if this was ever answered in this thread, but it seems to work with pref dom.max_script_run_time (default 20). Basically if a script runs for over 20 (or whatever other value you set) seconds, a yellow banner pops up at the top of the window, giving you the option to cancel the script. There's also an option to dismiss the banner, but it'll come back in another 20 seconds if the script still isn't finished. The banner will go away on its own anyway, if the script finishes.

If dom.ipc.processHangMonitor is set to false, a dialog box pops up instead of the yellow banner, with the same options. There's also a "don't show this again" checkbox on the dialog box, but it doesn't seem to do anything; the dialog will come back even if you check the box. Doesn't seem to make sense, but that's been my experience.

I find both true and false settings annoying, so instead I set dom.max_script_run_time to 0. This seems to be the only way to fully disable it and let long-running scripts finish without interruption. You could instead set it to a larger value, such as 120, instead of 0, depending on your patience for letting long-running scripts finish.

Edit: Tried this with Serpent 52, and I had to set both dom.ipc.processHangMonitor to false and dom.max_script_run_time to 0 to let long-running scripts finish. Apparently the latter time limit only applies to the dialog box that comes up if the former is set to false, at least on Serpent 52.

Edited by Mathwiz
Link to comment
Share on other sites

On 7/20/2021 at 10:14 AM, XPerceniol said:

user_pref("browser.tabs.remote.separateFileUriProcess", true);
 

I presume this would only apply to Serpent 55 and likely not applicable to XP anyway.
~As VistaLover Stated:
    In Firefox 53.0+ and on Win7+, an additional process is spawned when e10s has been activated: this is the GPU_PROCESS (about:support -> Graphics -> GPU_PROCESS); this requires the Win7 version of D3D11 and, again, your installed gfx card has to be compatible...

@VistaLover was actually answering a question of mine about a different matter. On Win 7, I noticed one more process than on Win XP, and that was his explanation. That "extra" process will only appear on St 55 on Win 7+.

Setting browser.tabs.remote.separateFileUriProcess to true does apply to St 52 as well as 55 and Win XP as well as 7+; it creates an additional process when using file:// URLs to browse HTML on your local PC or network. Probably not a big deal for most folks.

Link to comment
Share on other sites

21 hours ago, Mathwiz said:

..so instead I set dom.max_script_run_time to 0. This seems to be the only way to fully disable it and let long-running scripts finish without interruption. You could instead set it to a larger value, such as 120, instead of 0, depending on your patience for letting long-running scripts finish.

Thank you ... I took your advice and I am now using your recommended settings :)

Link to comment
Share on other sites

  • 2 months later...

if someone can post the full instructions on forcing multiprocess mode in firefox 52.9 esr, please write it down here, as the instructions / guide are a bit confusing in reading and / or all over the place. also, was wondering if anyone knows if one would need to install the Windows 2000 Dual-Core Fix with filename "win2kdualcorefix.7z" on a system that has update rollup 1? i got the info from the link below, but it doesn't specify which exact update rollup version it is referring to, also, it never occured to me that task manager would only be showing one process being worked with, and not taking advantage of the other core for dual core processors, i thought windows 2000 sp4 had proper dual core functioning. 

 

https://retrosystemsrevival.blogspot.com/2020/04/windows-2000-dual-core-fix.html

Edited by cov3rt
Link to comment
Share on other sites

20 hours ago, cov3rt said:

if someone can post the full instructions on forcing multiprocess mode in firefox 52.9 esr, please write it down here, as the instructions / guide are a bit confusing in reading and / or all over the place.

I rewrote the first post a bit. The first two paragraphs are all you need:

On 5/7/2019 at 4:53 PM, Mathwiz said:

You can force "multiprocess mode" (aka "e10s") in Firefox 52 or @roytam1's Serpent 52 and 55, by creating the Boolean preference browser.tabs.remote.force-enable and setting it to true. This splits Firefox or Serpent into two processes.

To allow more than two, set the preference dom.ipc.processCount to a value greater than one (i.e., setting it to 2 allows 3 processes, etc.)

That's all there is to it. The rest of the post just warns you about other FF-based browsers and provides an alternative method that works in some circumstances. You may find it interesting but if not, you don't need to bother with it.

If you don't know how to set preferences in Firefox or Serpent, here are more detailed instructions:

  1. Type about:config in the URL bar and press Enter
  2. A warning screen will pop up. Accept the risk or promise to be careful as warned.
  3. Start typing a preference name, e.g., browser.tabs.remote.force-enable, in the search field. You can stop typing once the list of preferences is narrowed down to a single page and the scroll bar on the right disappears.
  4. If the browser.tabs.remote.force-enable preference doesn't exist, create it by right-clicking somewhere in the list and selecting New / Boolean. Otherwise, just right-click the preference.
  5. In either case, set the desired value.
  6. To increase the number of processes, repeat steps 3-5 for the other preference. (It should already exist.)
Link to comment
Share on other sites

6 hours ago, Mathwiz said:

I rewrote the first post a bit. The first two paragraphs are all you need:

That's all there is to it. The rest of the post just warns you about other FF-based browsers and provides an alternative method that works in some circumstances. You may find it interesting but if not, you don't need to bother with it.

If you don't know how to set preferences in Firefox or Serpent, here are more detailed instructions:

  1. Type about:config in the URL bar and press Enter
  2. A warning screen will pop up. Accept the risk or promise to be careful as warned.
  3. Start typing a preference name, e.g., browser.tabs.remote.force-enable, in the search field. You can stop typing once the list of preferences is narrowed down to a single page and the scroll bar on the right disappears.
  4. If the browser.tabs.remote.force-enable preference doesn't exist, create it by right-clicking somewhere in the list and selecting New / Boolean. Otherwise, just right-click the preference.
  5. In either case, set the desired value.
  6. To increase the number of processes, repeat steps 3-5 for the other preference. (It should already exist.)

just wondering, do we need to apply this fix for firefox 52 and newer, or does the problem also occur in older firefox versions? the reason why i ask is because there's at least two major problems i have, one, i can't install firefox 52 anyways on my system ( so i'm wondering how people are able to do so, and my system uses the update "Windows2000-UURollup-v11-d20141130-x86-ENU" ), and two, i use firefox 45.9 esr, and i dont seem to encounter the dual core problem, or at least, it SEEMS that the dual core processes are working as intended with task manager showing activity on both segments. lastly, getting a little away from the post, but i was wondering if there's a fix for the certificate issue on firefox, which occurs on at least one page, wikipedia, as well as msfn.org for firefox 45.9 esr. my system already had the update "rootsupd201804", but it still has the issue with firefox 45.9 esr. kmeleon 76 does not have the problem, but it also doesn't work with youtube properly either, where as firefox 45.9 esr does. furthermore firefox 45.9 esr also has an issue with no showing images on wikipedia for one, where as kmeleon 76 has the issue with google image search....., would be nice if i can get a fix for all these, then at least, web browser can be nearly full functioning, though the user would need to use 2 different ones. 

Link to comment
Share on other sites

This isn't actually a "fix;" it's more of a performance enhancement for systems with more RAM.

Unfortunately I know nothing about how to install FF 52 on Windows 2000, dual-core or otherwise. I hope someone else here can answer your question, though; there are a lot of smart folks in this forum!

Link to comment
Share on other sites

  • 2 months later...

I just found out that there is another about:config item related to e10s:

user_pref("extensions.interposition.enabled, false); // set (true for no e10s)

and there is also another related extensions.interposition.prefetching

EDIT: using these tweaks, it seems to me that I can see less v-synch (or whatever is the horizontal-line artifact that every now and then shows up while watching videos. Some old extensions (for example, TB profile switcher 1.77) become less responsive due to lack of shims, but no other significant drawback.

Cheers!

 

Edited by dmiranda
Link to comment
Share on other sites

  • 4 weeks later...
On 3/28/2022 at 8:40 PM, dmiranda said:

I just found out that there is another about:config item related to e10s:

user_pref("extensions.interposition.enabled, false); // set (true for no e10s)

and there is also another related extensions.interposition.prefetching

EDIT: using these tweaks, it seems to me that I can see less v-synch (or whatever is the horizontal-line artifact that every now and then shows up while watching videos. Some old extensions (for example, TB profile switcher 1.77) become less responsive due to lack of shims, but no other significant drawback.

Cheers!

 

Hi :)

I have extensions.interposition.enabled set to false; while, I have extensions.interposition.prefetching set to true, is that right?

I also leave prefetch settings at the defaults, do you as well?

Thanks in advance. 

spacer.png

Link to comment
Share on other sites

EDIT:

I have changed network.dns.disablePrefetch to true and network.prefetch.next to false. Still not sure what to do with extensions.interposition.prefetching. network.allow-experiments is set to true (default). Not sure.

Edited by XPerceniol
Link to comment
Share on other sites

Hi @XPerceniol,

For e10s, I use

user_pref("extensions.interposition.enabled", false); // set (true for no e10s) *-*
user_pref("extensions.interposition.prefetching", false); // set (true for no e10s) *-*

For network stuff, these are the settings I change/monitor:

// NETWORK
user_pref("network.allow-experiments", false); // set
user_pref("network.dns.disablePrefetch", true); // set
user_pref("network.dns.disablePrefetchFromHTTPS", true); // add
user_pref("network.http.altsvc.enabled", false); // set
user_pref("network.http.altsvc.oe", false); // set
user_pref("network.http.redirection-limit", 12); // set
user_pref("network.http.sendRefererHeader", 2); // default
user_pref("network.http.spdy.enabled", false); // set
user_pref("network.http.spdy.enabled.deps", false); // set
user_pref("network.http.spdy.enabled.http2", false); // set
user_pref("network.http.speculative-parallel-limit", 0); // set
user_pref("network.IDN_show_punycode", true); // set
user_pref("network.IDN.restriction_profile", "high"); // set
user_pref("network.manage-offline-status", false); // set
user_pref("network.predictor.enable-prefetch", false); // default
user_pref("network.predictor.enabled", false); // set
user_pref("network.prefetch-next", false); // set
user_pref("network.protocol-handler.external.ms-windows-store", false); //set
user_pref("network.seer.enabled", false); // add
user_pref("security.sri.enable", true); // default
user_pref("webchannel.allowObject.urlWhitelist", "127.0.0.1");
 

Link to comment
Share on other sites

Thank you @dmiranda - I appreciate your help.

I've added some of your prefs to my configuration, and now my network prefs look like this ... please let me know what you think when you have a chance :)

user_pref("network.IDN_show_punycode", true);
user_pref("network.allow-experiments", false);
user_pref("network.captive-portal-service.maxInterval", 0);
user_pref("network.captive-portal-service.minInterval", 0);
user_pref("network.connectivity-service.enabled", false);
user_pref("network.cookie.cookieBehavior", 1);
user_pref("network.cookie.prefsMigrated", true);
user_pref("network.dns.disableIPv6", true);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("network.file.disable_unc_paths", true);
user_pref("network.http.altsvc.enabled", false);
user_pref("network.http.redirection-limit", 4); ( my personal preference as I like to see and allow accordingly beyond 4 - some sites go 'round-and-round' nowadays)
user_pref("network.http.referer.XOriginPolicy", 2);
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);

user_pref("network.http.referer.hideOnionSource", true); (I don't use tor)
user_pref("network.http.sendRefererHeader", 0);
user_pref("network.http.sendSecureXSiteReferrer", false);
user_pref("network.http.spdy.enabled", false);
user_pref("network.http.spdy.enabled.deps", false);
user_pref("network.http.spdy.enabled.http2", false);
user_pref("network.http.spdy.ping-threshold", 0);
user_pref("network.http.spdy.ping-timeout", 0);
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.manage-offline-status", false);
user_pref("network.predictor.cleaned-up", true);
user_pref("network.predictor.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.protocol-handler.external.ms-windows-store", false);
user_pref("network.proxy.type", 0);
user_pref("network.seer.enabled", false);
user_pref("network.websocket.enabled", false);
user_pref("network.websocket.max-connections", 0);
user_pref("network.websocket.max-message-size", 0);
user_pref("network.websocket.timeout.close", 0);
user_pref("network.websocket.timeout.open", 0);
user_pref("network.websocket.timeout.ping.response", 0);

EDIT: I found I had invalid prefs and noted the ones I removed. I'm seeing after researching that is causes more "curiosity" from site when visitors send no header at all (0), so I'll take your advice and leave network.http.sendRefererHeader at 2.


 

Edited by XPerceniol
Link to comment
Share on other sites

Added:

network.http.altsvc.oe.

BTW ... I was trying to edit my posting and may have accidentally hit "report" on your posting, of so, please know it was accidental; of course, my brain is a bit fuzzy. Take good care.

Edited by XPerceniol
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...