Jump to content

The UOC and QUOC Patch - Optimize Firefox (and derivatives) for old hardware!


Recommended Posts

UPDATE! After getting a semi-vintage Mac Mini from 2006 running System 10.6.8 "Snow Leopard", I've been able to port the UOC Patch to the Macintosh. Installing the patch is as simple as doing it on Windows. You just unzip the patch and put the UOC_Patch_Mac.js file into the following folder:

Applications\[Browser folder]\Contents\Resources\Defaults\Pref

The UOC Enforcer for 38 ESR browsers is the version that must be used with the Macintosh one. You can install the Enforcer on the Macintosh by putting the user.js file in the following directory:

Macintosh HDD\Users\[Username]\Library\Application Support\[Browser Name]\Profiles\[Profile Name]\

In this way, you will have the UOC Patch + the Enforcer fully working even on your old Macintosh. Just like the Windows version, please test it on as many platforms as possible! I'm particularly interested to know how it performs on a PowerPC Macintosh, G4 and G5, and I'm curious to know how it would run on a G3 Power Macintosh (both the original iMac, the eMac and the beige G3 models), maybe it could even work with Classilla.

The patch is offered AS IS, and to the people who still haven't updated the Windows version, please do it now and do not forget to try the UOC Enforcer alongside the Patch, for better performance!

Edited by looking4awayout
Link to comment
Share on other sites


On 7/11/2019 at 1:21 AM, looking4awayout said:

UPDATE! After getting a semi-vintage Mac Mini from 2006 running System 10.6.8 "Snow Leopard", I've been able to port the UOC Patch to the Macintosh. Installing the patch is as simple as doing it on Windows.

Neat! Snow Leopard is the Mac equivalent of XP (despite being contemporary with 7; both saw their initial RTM releases in mid 2009). Does this work with 45 as well, or is it limited to 38?

For late-model PowerPC Macs (Most fast G4s and all G5s), you want to target TenFourFox, whose latest version is forked from Firefox 45 (it lost source parity I think a couple years ago because there were some things that simply weren't portable). I think your script will be very helpful for that, as TFF is fairly decent, but it's configured as one-size-fits-most, so it could use some extra optimization, particularly on faster machines, to reach its full potential (it's extremely good as is, though!)

If you could also try testing your script with ArcticFox, that would be useful too, as that is supposed to be a fork of Pale Moon (akin to Roytam1's New Moon, but for early Intel Macs), and thus should be more or less compatible with your script as is, but should be tested for any Mac-specific peculiarities. I can try it out on my Mac, if you like, as I have ArcticFox installed on it.

Let's keep up the good work!!

c

Link to comment
Share on other sites

It does work on Arctic Fox. I use it on my Mac Mini 1,1 and it does speed up the browser. I don't have any PowerPC Macintosh though, so I cannot test it in TenFourFox, as it doesn't run even with Rosetta installed.

Compatibility wise, the Macintosh version should run without issue on 45 ESR based browsers too. Would be interesting to see how it performs on high end G4 and G5s. I had a guy test the patch on G3 and low end G4 Power Macintoshes (including a G4 Powerbook), but the performance was very disappointing, mostly due to the slow graphics cards used, an ATI Rage 128 on the G3 and a Geforce 2 MX on the Powerbook, and the meager amount of RAM (128MB on the G3 and 256MB on the G4). A fast graphics card that is optimized for OpenGL is essential on the Macintosh, as well as on Linux, as well as having at least 768MB of RAM upwards.

Edited by looking4awayout
Link to comment
Share on other sites

On 4/3/2019 at 8:35 AM, looking4awayout said:

Installing the UOC Patch is a very easy process. Just go in your browser folder (C:\Program Files\Mozilla Firefox or Pale Moon or any other Mozilla based browser you use), then go in the "Defaults" then the "Pref" folder and extract the UOC_Patch38.js or UOC_Patch45.js you will find in their respective archive in the above folder and start the browser.

One little correction: the UOC Patch for FF 38-based browsers also applies to the K-Meleon browser, but you have to extract it into a different folder. Instead of <browser folder>\defaults\pref, for K-Meleon you should extract the patch into <browser folder>\browser\defaults\preferences.

Also, a note for those who have "hardened" their browser by disabling ciphers that don't offer "forward secrecy:" If you've done this, you won't be able to download the UOC Patch (or any files) from Mediafire, as their server doesn't provide any ciphers with forward secrecy. You'll get "no cipher overlap" message from your browser if you try. If this happens to you, I recommend you reset pref security.ssl3.rsa_aes_256_gcm_sha384 to true. It doesn't provide forward secrecy but is otherwise a very strong cipher and is supported by Mediafire. I posted this many moons ago; Mediafire has since updated their server to provide some TLS 1.3 and TLS 1.2 ciphers with forward secrecy, so it should no longer be necessary to enable an older cipher.

Edited by Mathwiz
Link to comment
Share on other sites

  • 2 weeks later...
On 7/25/2019 at 2:47 AM, Mathwiz said:

One little correction: the UOC Patch for FF 38-based browsers also applies to the K-Meleon browser, but you have to extract it into a different folder. Instead of <browser folder>\defaults\pref, for K-Meleon you should extract the patch into <browser folder>\browser\defaults\preferences.

Also, a note for those who have "hardened" their browser by disabling ciphers that don't offer "forward secrecy:" If you've done this, you won't be able to download the UOC Patch (or any files) from Mediafire, as their server doesn't provide any ciphers with forward secrecy. You'll get "no cipher overlap" message from your browser if you try. If this happens to you, I recommend you reset pref security.ssl3.rsa_aes_256_gcm_sha384 to true. It doesn't provide forward secrecy but is otherwise a very strong cipher and is supported by Mediafire.

Tips worthy of being in the 1st post, if l4ao agrees ;)

Edited by Vistaboy
Link to comment
Share on other sites

Sure I do! Once I have enough time I will put it in the main post, alongside a little tip for people who experience choppy frame rates at 120 FPS, usually with an ATI Radeon X1950 Pro. While I developed the UOC Patch with an NVidia card (my overclocked 6800GT), now I got a Radeon X1950 Pro in my Tualatin, and I noticed that at 120 FPS, scrolling is quite choppy, almost as if the browser is running at 30 FPS. I will post the workaround in the next days, alongside "sticking" Mathwiz's workaround with Mediafire and disabled ciphers.

Work is keeping me quite busy lately so I had little time to post on the forum, and I apologize for that.

EDIT: I've added @Mathwiz's tip in the main post. If you experience choppy scrolling (which is unrelated to the stuttering issue I mentioned in the New Moon thread), you can try to set these two values in the about:config, in the way showed below:

layers.offmainthreadcomposition.frame-rate - 60

layout.frame_rate - 60

60 FPS seems to be the sweet spot on my Tualatin RDD with the X1950 Pro, while the 6800GT runs silky smooth at 120 FPS. I'm curious to see how much the upcoming Geforce 7800GS will fare. Hopefully, it should have way less overhead than the X1950 Pro since it uses Forceware 81.98, just like the 6800GT, but overclocks way more, from what I've read online.

Edited by looking4awayout
Link to comment
Share on other sites

  • 3 weeks later...

Since I've got my HP Compaq NX6110 laptop New Moon was suffering, but after applying the UOC patch it got A LOT better, sure Discord and YouTube aren't 100% usable, but there are workarounds too. This patch worked brilliantly for me, thank you!:D(BTW I'm posting this message from the laptop :)

Link to comment
Share on other sites

This has worked brilliantly for me on my Pentium iii LAtitude C810, and Athlon XP desktop! Why in the world do older Mozilla browsers have hardware accelerated web rendering disabled by default? It's a game changer!

Edited by sparty411
spelling error
Link to comment
Share on other sites

I suppose Mozilla developers conceived them to have a sort of "one size fits all" configuration. So, instead of having potential instabilities with some machines, they preferred to set the browsers' behaviour to be slow but stable on most of the platforms (think of it as a "failsafe mode") for better compatibility, and then it would be up to the end user to tweak the browser to suit his needs. And thanks God it can be heavily tweaked, or else web browsing on old machines would be impossible: Chrome and its derivatives on my overclocked Tualatin runs awfully compared to Firefox 45 ESR SSE and the other Roytam1's browsers.

Now to make things better we would need someone who can mod ATI drivers to get better performance out of Firefox and derivatives... Unfortunately a "UOC Patch" for ATI Catalyst drivers is something I can't do. 😛

Edited by looking4awayout
Link to comment
Share on other sites

On 4/3/2019 at 3:35 PM, looking4awayout said:

UPDATE: A little tip

I discovered that there are some parameters that for some reasons, the patch ignores, but they can be edited manually in the about:config. Here they are:

image.mem.max_decoded_image_kb  -  512000

browser.urlbar.maxRichResults  -  1

browser.sessionstore.restore_on_demand - False

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

dom.ipc.plugins.asyncdrawing.enabled - True

plugin.allow.asyncdrawing - True

layers.async-pan-zoom.enabled - False

 

After installing on F45ESR new release the UOC_Patch + Enforcer i found all the quoted parameters set correctly as above, except for the following: 

browser.urlbar.maxRichResults  -  1    

That one was set to 12. Is it 1 ok or there's a missing "2"?

Link to comment
Share on other sites

I have left that parameter to be freely customizable by the end user. While I don't use the awesome bar at all, so I keep it set to 0, some might use it. So it's up to the user, whether he wants to use that feature or not. You can set it to 12 or to 1, or even disabling it completely by setting it to 0. Up to you, if you need it or not. ;)

Edited by looking4awayout
Link to comment
Share on other sites

  • 2 weeks later...

After all this time, I'm finally happy to say that I have fixed the choppy framerate issue with ATI cards* on Mozilla based browsers (including @roytam1's) on resolutions above 800x600.

In order to have an almost NVidia-like smooth scrolling experience, you need to set these three parameters to True in about:config:

layers.enable-tiles - True

layers.tiles.adjust - True

devtools.performance.ui.enable-framerate - True (this one might be already set to True if you use the UOC Patch)

This dramatically improves the framerate if you use an ATI card, so if you have experienced choppy scrolling above 800x600, you might have to check out if setting these three values to True in the about:config, will bring some benefits to your system.

You might also have to tweak the framerate of your browser too, if you experience tearing. You can easily do that by editing the two values below:

layers.offmainthreadcomposition.frame-rate

layout.frame_rate

The UOC Patch sets them to 120, but you might get a better performance at 60 FPS or 240, or 480, your mileage might vary according to your system.

The sites that use their own scrolling routines, such as this forum, are still choppy unfortunately, but less than before.

 

*= DO NOT, and I say do not, attempt to enable tiles with NVidia cards. Or else you will get extremely choppy framerate, rendering your browser unusable unless you edit your prefs.js file to set them back to false. This tweak only works on ATI cards since NVidia cards already run smooth without additional tweaking.

 

EDIT: There is another extra value that you can set to True in order to get better scrolling performance. But it only works on Firefox 45 ESR SSE. I don't have a computer where I can test FF52 ESR based versions and beyond, so use this extra tweak below only on FF45 ESR SSE. Set the value below in this way:

layers.async-pan-zoom.enabled - True

DO NOT set this value to True in New Moon 27 and K-Meleon 76 Goanna, or else you will get unexpected 100% CPU spikes and the scrollbars will no longer be visible unless you revert the value to False. I do not guarantee that this extra value will work correctly on your system. If you notice worse performance with layers.async-pan-zoom.enabled, just leave it set to False as per default settings.

Edited by looking4awayout
Link to comment
Share on other sites

On 9/8/2019 at 9:41 AM, looking4awayout said:

After all this time, I'm finally happy to say that I have fixed the choppy framerate issue with ATI cards* on Mozilla based browsers (including @roytam1's) on resolutions above 800x600.

In order to have an almost NVidia-like smooth scrolling experience, you need to set these three parameters to True in about:config:

layers.enable-tiles - True

layers.tiles.adjust - True

devtools.performance.ui.enable-framerate - True (this one might be already set to True if you use the UOC Patch)

This dramatically improves the framerate if you use an ATI card, so if you have experienced choppy scrolling above 800x600, you might have to check out if setting these three values to True in the about:config, will bring some benefits to your system.

You might also have to tweak the framerate of your browser too, if you experience tearing. You can easily do that by editing the two values below:

layers.offmainthreadcomposition.frame-rate

layout.frame_rate

The UOC Patch sets them to 120, but you might get a better performance at 60 FPS or 240, or 480, your mileage might vary according to your system.

The sites that use their own scrolling routines, such as this forum, are still choppy unfortunately, but less than before.

 

*= DO NOT, and I say do not, attempt to enable tiles with NVidia cards. Or else you will get extremely choppy framerate, rendering your browser unusable unless you edit your prefs.js file to set them back to false. This tweak only works on ATI cards since NVidia cards already run smooth without additional tweaking.

 

EDIT: There is another extra value that you can set to True in order to get better scrolling performance. But it only works on Firefox 45 ESR SSE. I don't have a computer where I can test FF52 ESR based versions and beyond, so use this extra tweak below only on FF45 ESR SSE. Set the value below in this way:

layers.async-pan-zoom.enabled - True

DO NOT set this value to True in New Moon 27 and K-Meleon 76 Goanna, or else you will get unexpected 100% CPU spikes and the scrollbars will no longer be visible unless you revert the value to False. I do not guarantee that this extra value will work correctly on your system. If you notice worse performance with layers.async-pan-zoom.enabled, just leave it set to False as per default settings.

None of the about:config tweaks listed above improve performance at all for me, on my Radeon 9600 Pro.

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...