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

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

Recommended Posts

Now try to set webgl.min_capability_mode to False. Let me know if you notice any improvement.

Share this post


Link to post
Share on other sites

UPDATE!

I have enabled some WebGL features that seem to improve the general performance of the browser, especially during scrolling. Keeping the WebGL implementation running at minimum capability mode seems to make scrolling less jerky in graphically intensive pages, making the entire browser feel faster. I also have reduced the amount of warnings to 0, reducing the CPU usage (when set at 32, there might be a sudden spark in CPU usage since the browser sends warnings related to the WebGL engine.).

The build number of this new version of the UOC Patch is N2J.

Please update to the newest version of the UOC Patch and happy RDDin'!

EDIT: please redownload. I made a mess with the archives.

EDIT 2: I have applied some minor updates to the 52 ESR and the New Moon 28 exclusive version of the UOC Patch. Please update.

Edited by looking4awayout
  • Like 1

Share this post


Link to post
Share on other sites

UPDATE!

I have discovered that the two parameters below:

apz.frame_delay.enabled set to True

apz.relative-update.enabled set to False

contribute to improve the smoothness during scrolling. This, at least on the RDD, has contributed to reduce the infamous stuttering issue that affects Mozilla browsers, regardless of their rendering engine. I have updated all the versions of the UOC Patch to reflect the changes above.

Please update to the latest version of the UOC Patch! Thanks!

Edited by looking4awayout

Share this post


Link to post
Share on other sites

UPDATE!

Some more improvements in scrolling have been noticed after tweaking the two parameters below in the following way:

apz.allow_checkerboarding - False
gfx.color_management.mode - 0

So, all the versions of the UOC Patch have been updated accordingly. Please update!

Share this post


Link to post
Share on other sites

EDIT:

The N2K build of the UOC Patch has been cancelled.

The new version will either have N2L or N2M as a build number, as I am rewriting the entire Patch from scratch. While the 38ESR and Macintosh/Linux versions have been already rewritten from scratch, I'm now in the middle of rewriting the 45ESR/52/NM28 version. I already have a pre-reset build of the Patch for those codebases, but I want to find out if the rewritten version performs better.

Edited by looking4awayout

Share this post


Link to post
Share on other sites

UPDATE!

I have completely rewritten all the versions of the UOC Patch from scratch. This complete rewrite has allowed me to increase the overall performance of the browsers by a huge margin. I hope to not be wrong, but this build of the UOC Patch could definitely be the fastest one I ever developed. Having been rewritten from scratch, I have cherry picked the parameters that bring the fastest speed to the browsers, while also reducing the file size. Double entries and redundant parameters have been removed as well. The 38 ESR version of the UOC Enforcer has been updated as well, to reflect the changes of the respective version of the Patch, and I am glad to announce that the annoying bug of scrolling that frozen while heavy images were loading on a site on 38 ESR based browsers, has been finally fixed.

However, since this time it has been completely rewritten from the ground-up, I recommend you to start with a new and clean profile, in order to get the most out of your patched browser: old and "dirty" profiles might hamper the performance of this new version of the UOC Patch. Do not forget to install the UOC Enforcer as well.

The build number is N2L.

Please update to the newest version and happy RDDin'!

Edited by looking4awayout
  • Like 1

Share this post


Link to post
Share on other sites

UPDATE!

A bug in the New Moon 28 and 52 ESR versions has been fixed, caused by a broken tiled compositing implementation on those browsers, making them cause severe graphical glitches and rendering the browsers unable to scroll.

While now tiled compositing has been disabled on those browsers, this might come at the cost of performance. Please update and let me know the outcome, as if the browsers perform worse, I might be forced to withdraw the 52 ESR/New Moon 28 versions and stop supporting them.

Edited by looking4awayout

Share this post


Link to post
Share on other sites

UPDATE!

I have done some modifications to the Patch for all the versions. The maximum amount of hardware accelerated layers has been raised to 512. This ensured a massive speed and smoothness increase, apparently making the browser less "CPU hungry".

Please update to the latest version!

Edited by looking4awayout

Share this post


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

I do not recommend people to use Firefox 52 ESR based browsers (Serpent/Basilisk/Pale Moon 28/New Moon 28) on old computers, because the Mozilla developers have broken tiled compositing and nobody has ever bothered to fix that issue. So, if you want better performance with the UOC Patch, use ... SeaMonkey (with the 52 ESR version of the UOC Patch)....

Which SeaMonkey version do you recommend? If it's 2.49, that would imply Mozilla did eventually fix tiled compositing in at least one UXP browser, so perhaps the fix(es) could be ported to Serpent 52/NM 28.

Also, if it works in 2.49, does it work in BNavigator?

  • Like 1

Share this post


Link to post
Share on other sites

I recommend 2.48, at least on SSE only machines. It runs pretty fast on the RDD, after applying the Patch. I presume it should also work without issues on BNavigator. Unfortunately, on my i7 laptop, which is the only computer where I have Pale Moon 28 and AOL Shield, both based on 52 ESR, tiled compositing causes them severe rendering errors and making the browser unable to scroll, so it's disabled.

Now, I don't know if the same problem exists in SeaMonkey or not, or else I might need to make a SeaMonkey exclusive version of the Patch, much like what I have done with the New Moon 28 edition.

Edited by looking4awayout

Share this post


Link to post
Share on other sites

Interesting; according to https://www.seamonkey-project.org/releases/legacy

Quote

The last version for Windows with support for older CPUs not supporting the SSE2 instruction set was SeaMonkey 2.40.

SM 2.48 seems to be on par with FF 51, whose JS engine can output SSE2 instructions, so some sites may crash it on your machine.

Nevertheless, if you find out that tiled compositing works, let us know!

  • Like 1

Share this post


Link to post
Share on other sites

I need to test it, because if it does, I might have to make a SM specific variant of the Patch.

I have got the SSE only SM 2.48 at Matej Horvat's site, if I remember correctly. Not really sure as I have it since forever...

Share this post


Link to post
Share on other sites

All the new releases of the UOC Patch have been cancelled. I haven't noticed any improvement in the latest experimental release I was working on and that was planned to be released. So, I might probably need to rewrite the entire Patch from scratch once again and see if I can finally get over the issues I stumbled upon during development and make another step forward. Until then, N2L will be the current version available, maybe for a long while, until I finally can make a significant achievement.

  • Like 1

Share this post


Link to post
Share on other sites

No new releases for now, but I bring good news.

I have been working on a new, fully scratch made version of the UOC Patch and Enforcer for 45 ESR based browsers. I have backported some parameters from 52 ESR and they appear to work on 45 ESR SSE, and from what I have noticed, they have massively sped up scrolling speed, which now is on par with Internet Explorer 8, I am happy to say.

Unfortunately, the same cannot be said about the rewrite of the 52 ESR version (I'm not going to do a full rewrite of the 38 ESR one, since it works well enough, maybe just a minor update, so 38 ESR will retain the N2L build number): basically, due to a broken implementation of Asynchronous Pan and Zoom and Tiled Compositing (thank you, Mozilla! 😬), scrolling at resolutions higher than 800x600 appears to be choppy. This problem is particularly noticeable on ATI cards, NVidia ones seem to either not have it or it is much more mitigated.

While I am banging my head against the wall, even not sleeping at night, to find out a solution or a workaround to this issue, I am working in order to mitigate it as much as possible. Scrolling at 1024x768 and above will still be choppy with ATI cards on 52 ESR based browsers, but less than stock settings. I might have actually found a workaround, but it is not perfect and I don't want to release an half-assed patch to the public.

It will take time. Presumably, I might be able to release the new 45 ESR Patch and Enforcer this week, do some minor updates on the 38 ESR/Macintosh version, and then we'll see. 

At the moment I am completely focusing myself on the development of the 52 ESR version, since thanks to SSErpent, which is a godsend to me, I can finally develop the Patch directly on the RDD, instead of having to always rely on other systems, invalidating the personal challenge I have taken since 2017.

If the Gods will assist me, perhaps I will be finally able to circumvent the limits of 52 ESR's rendering engine and finally bringing it on par with 45 ESR, but the engine needs to be fixed by a programmer, something I am not.

Stay tuned.

EDIT: the workaround doesn't seem to be working...

Edited by looking4awayout

Share this post


Link to post
Share on other sites

This night has been very productive.

I have managed to make APZ work in 38 ESR, as well as discovering that layers.low-precision-buffer hurts performance if enabled. The 52 ESR version has been set in stone, with the workaround I have applied (apz.desktop.enabled set to true but without enabling apz.drag.enabled as it causes massive lag on 52 ESR).

Due to the rendering problems I had when I enabled E10S, that will be scrapped and so, I will no longer develop a separate version for New Moon 28. If the user wants E10S, then he should enable it manually.

It's a matter of time before I release the new version. I just need to do some minor test to check if the new parameters stick, otherwise I'll move those to the Enforcer.

EDIT: The release of the new version has been postponed again due to bugs found in the 45 ESR version.

Edited by looking4awayout
  • Like 2

Share this post


Link to post
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...