Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


looking4awayout

[Experimental] The UOC Patch - An attempt at optimizing Mozilla based browsers for old machines, now for Macintosh too!

Recommended Posts

9 hours ago, Vistaboy said:

What version of NoScript do you suggest? I can't find v2.x, on the official site there's only a 5.1.9 (NoScript Classic).

@Mathwiz has been faster than me at providing you the link. I got it from that site. It's super useful! Pardon for the slow reply, we had a theft at work and so I had no time at all to check the RDD out.

Share this post


Link to post
Share on other sites

10 hours ago, Vistaboy said:

I can't find v2.x, on the official site there's only a 5.1.9 (NoScript Classic).

This is not true: if by "official" site you mean

https://noscript.net/

then change to the "get it!' tab and scroll down a bit:

bGlPKd3.jpg

  • Like 3

Share this post


Link to post
Share on other sites
Posted (edited)

UPDATE! I have disabled two options regarding non essential tasks about SVG elements in a webpage, mostly used for testing purposes. On my machine, the browser increased its responsiveness with these two options disabled.

I've also noticed that NoScript 2.6.9.32 and 2.6.9.27 tend to cause issues with Mediafire, if used on Firefox 45 ESR SSE, but on New Moon 27, there are no issues with the site. So, I recommend you to use NoScript 2.9.0.9 upwards if you are using it on Firefox 45 ESR SSE, and leave 2.6.9.32 or 2.6.9.27 to New Moon only. You can find those versions on the Legacy Collector website. Please update and remember that the UOC Patch is offered AS IS!

Edited by looking4awayout
  • Like 1

Share this post


Link to post
Share on other sites

No new version of the UOC Patch for the moment, but I want to give you a little heads up that I found out while messing with the about:config.

If you set the settings below this way:

webgl.force-layers-readback - False

webgl.enable-privileged-extensions - True

webgl.enable-draft-extensions - True

dom.enable_performance_observer - True

dom.performance.enable_notify_performance_timing - True

dom.performance.enable_user_timing_logging - True

The performance of Mozilla based browsers will significantly improve. Unfortunately they don't work if I implement them in the Patch, so you will have to set these parameters manually through about:config. But give them a try, on my machine they work and sped up the browser further. Tested on Firefox 45 ESR SSE, New Moon 27 SSE and Seamonkey.

Share this post


Link to post
Share on other sites
Posted (edited)

I have found two other keys that Firefox "hardcodes" forcing the user to set them manually. Here they are. Set them the way listed below:

dom.ipc.plugins.asyncdrawing.enabled - True

plugin.allow.asyncdrawing - True

And an experimental key, that is normally set to True in the 45 ESR version of the patch (it's disabled in the 38 ESR version as it causes a 100% CPU usage all the time), but I'm testing the browsers with the value disabled.

layers.async-pan-zoom.enabled - False

Please set these other three values the same way and tell me if you notice any improvement in performance. Don't forget to set the other values I listed in the main post, because if you do notice improvements, I will implement them in the first page as well.

For Mozilla experts, is there a way to circumvent the "hardcoded" keys in the about:config? The UOC Patch sets most of the keys the way I want, but the ones I listed above, even if I put them in the patch, won't be applied, forcing me to set them manually. I've tried the AutoConfig way mentioned in the Mozilla wiki, but the only thing that does is crashing the browser. There must be a way to fully implement the patch without tampering with the about:config... Do you have any suggestion @roytam1? Your opinion would be very helpful to me.

Edited by looking4awayout
  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, looking4awayout said:

Do you have any suggestion @roytam1? Your opinion would be very helpful to me.

what about writing an extension?

  • Like 1

Share this post


Link to post
Share on other sites
Just now, roytam1 said:

what about writing an extension?

I'm not a programmer, unfortunately, so I have no clue about how to write an extension... In that case I'd have to hand the development of the extension to someone who's capable of doing that. Due to the lack of skills and time, that isn't a viable option for me, I'm afraid. :(

Share this post


Link to post
Share on other sites

Only a little bit better as adding ten prefs one by one, would be your original first approach to this preflist project: add them as a little list at the end of the profile prefs.js, while the browser is closed, then restart.
Or there's always user.js, which enforces prefs at every startup, but that my be too restrictive.

What would be interesting, where do the 'automatic' values come from?

By the way, would like to share a general idea for all people using their own pref lists. Would you sometimes like to see in about:config little comments, what some of the prefs and values are about? Since awhile I'm very happily adding self-written info-prefs :-)
Just a few examples, not perfect:
pref("security.tls.version.__INFO", "INFO: FF23+(KM7X) 0=SSL3, 1=TLS 1.0, 2=1.1, 3=1.2 since FF24, 4=1.3 beta");
pref("security.tls.version.__INFO2", "INFO: check available versions on about:support. TLS1.3 needs min NSS 3.3");
pref("toolkit.telemetry.__INFO", "INFO: Prefs NOT about collecting, only about SENDING! See profiler pref");
pref("profiler.enabled__INFO", "INFO: COLLECT data or not: Telemetry prefs only decide if they are SEND");
pref("dom.messageChannel.enabled__INFO", "INFO: for user identity / reCaptcha not clickable if false");
pref("dom.serviceWorkers.enabled__INFO", "INFO: MarioNET module for remote control (since FF44)");
pref("security.fileuri.strict_origin_policy__INFO","INFO: fileuri/checkloaduri: If websites can load resource-links. Check on browserleaks.com/Firefox");


  • Like 2

Share this post


Link to post
Share on other sites
3 hours ago, siria said:

Or there's always user.js, which enforces prefs at every startup, but that my be too restrictive.

Interesting. I have to try to make the patch as a user.js file and see if the values I want to be applied, get applied automatically. If they do, I'll have to make the UOC Patch into a user.js file.

Any drawback about that?

Share this post


Link to post
Share on other sites

looking4awayout said: If they do, I'll have to make the UOC Patch into a user.js file.Any drawback about that?


Yeah. Very bad idea. The STRONG drawback is that users cannot change those values anymore if they forget it. Awhile later they may toggle a setting in the menus or prefsheets or wherever, and think they've changed it. Or they toggle something on about:config and think they've changed it. That works as long as your preflist is only a default list.
But in user.js it will override all individual user settings again at next start, with the users even unaware. If they do eventually notice their own settings were lost, they will try again, only to find their values "don't stick". Only a few experts will then figure out that mystery ;-)

My hint was more meant for users who like to fiddle themselves, if they have trouble to ENFORCE something, so they may "append" a few lines. And also as general tip that this widely unknown, very handy startup-prefs file exists.
But to enforce your complete profile settings at every startup again is a very bad idea...

Looking at those 'stubborn' prefs again, they are probably hardware or firmware related, depending on what's available on individual computers?

Share this post


Link to post
Share on other sites
Posted (edited)
12 minutes ago, siria said:

Cut

Yeah, I just tried by myself, and that sucks especially for people who tweak the UOC Patch to suit their taste. I think the least worst idea when it comes to those "stubborn" prefs is to just make a user.js file with only those ones, so they won't interfere with the rest of the patch. This "mini patch" can be optional and anyone is free to download it to complement it. Do you think it would be a good idea?

Edited by looking4awayout

Share this post


Link to post
Share on other sites
On 7/5/2019 at 10:27 AM, looking4awayout said:

Mozilla experts, is there a way to circumvent the "hardcoded" keys in the about:config? The UOC Patch sets most of the keys the way I want, but the ones I listed above, even if I put them in the patch, won't be applied, forcing me to set them manually. I've tried the AutoConfig way mentioned in the Mozilla wiki, but the only thing that does is crashing the browser.

The Autoconfig method seems to work for me. However it's a bit of a PITA; if you get anything wrong the browser refuses to start and tells you to contact your IT administrator (or words to that effect). Here's how it works (if everything's set up right):

  1. You need to set two prefs in your "main" pref file to invoke Autoconfig:
    pref("general.config.obscure_value", 0);
    pref("general.config.filename", "myuseragents.js");

    (As you can tell, I'm using this trick for my SSUAO list, since it lets me override SSUAOs built into the browser, whereas the built-in SSUAOs take precedence if doing this the "normal" way, much like the problem you're having with the prefs you listed.)

  2. Then you put the file named above (myuseragents.js) in the same directory as the browser (firefox.exe, palemoon.exe, or whatever.exe), and it has to look like this:

    // Needs to start with a comment line
    defaultPref("webgl.enable-draft-extensions", true);
    defaultPref("webgl.enable-privileged-extensions", true);
    defaultPref("dom.ipc.plugins.asyncdrawing.enabled", true);

    Notice the mandatory comment line at the top, as well as the use of defaultPref() vs. pref(). In an Autoconfig file, pref() works like user_pref(), while defaultPref() works like pref(). :rolleyes:

If you get everything right, the browser will start, and if you check about:config, you'll see the prefs above all default to true now (which you can still override back to false if desired).

But since it's so easy to break this with a typo, and since the browser is completely unhelpful in troubleshooting problems, it's still not an ideal solution.

  • Like 2

Share this post


Link to post
Share on other sites

UPDATE! After some weeks of intense development, I have finally released the new version of the UOC Patch, build number is N2F.

Compared to the previous version, this new one has been reworked almost entirely: many entries that point to my FF45 ESR SSE installation have been removed, shaving the size down to around 25KBs, making it even easier to fit in a floppy disk (3.5" or 5.25", your choice, for easier portability), but I've also reworked the loading routine of webpages, disabling the asynchronous panning and zoom feature, which instead of offloading the CPU, it is somehow bugged even on 45 ESR based browsers, causing an excessive spike in the CPU usage. Also, scrolling webpages while they are loading images should be smoother now, at least it is on my Tualatin RDD. I've also increased the memory cap of Javascript processes to 96MB, which seems the sweet spot between usability and performance, at least on my machine.

But the biggest news is the introduction of the UOC Enforcer. The UOC Enforcer is a custom "user.js" file that must be placed into the browser's profile folder and that tells the browser to change the "stubborn" entries in the about:config that are hardcoded by the developer, making the UOC Patch work even better. You must remember though that the UOC Enforcer doesn't let you change the edits from the about:config, so if you want to change a "stubborn" entry, you must edit the user.js file directly (you can do it with Notepad).

Therefore, I strongly suggest you to open the UOC Enforcer file and check out what are the stubborn settings, in case you want to change them in future. Most likely, you won't need to do that. While the Enforcer is optional, I strongly recommend it in order to get a better experience with the UOC Patch, as it tweaks the browser further.

You can download the updated version of the UOC Patch and the UOC Enforcer in the main post.

Please test the patch on as many machines as possible, and remember that it's offered AS IS, since I develop it in my free time, in order to squeeze some more power out of old computers and making them still useful online just like when they were new. Thanks!

  • Like 2

Share this post


Link to post
Share on other sites
On 4/3/2019 at 6:35 AM, looking4awayout said:

UOC Enforcer for Firefox 38 ESR based browsers (i.e. New Moon 27): Click Here

UOC Enforcer for Firefox 45 ESR SSE and 45 ESR based browsers: Click Here

I'm going to look into trying this, but one quick note: your links are reversed! the link for 45 ESR leads to the 38 ESR UOC patch and vice versa.

c

  • Like 1

Share this post


Link to post
Share on other sites

Oof! I'll fix them in a jiffy.

EDIT: Fixed!

Please, remember that the UOC Enforcer is just an add-on for the UOC Patch, and you must download both in order to fully optimize the browser. So while the Enforcer is not strictly required (although I recommend it), the UOC Patch is necessary, since it has the core settings.

Edited by looking4awayout

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...