Jump to content

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


Recommended Posts

The N2M version of the UOC Patch has been cancelled. I have to rework the 45 ESR version and due to this I most likely won't be able to release them anytime soon. Due to structural limits of FF45 ESR SSE, I have to develop a workaround to reduce the excessive strain on the CPU, but I also need collaboration from developers. Not only Roytam1, but anyone who knows the innards of Firefox and knows how to program, please, help this browser run better on old hardware. There is an issue either in the rendering engine or in the browser itself that causes an excessive strain on the CPU and causing severe stuttering when a page is scrolled, and it happens even without hardware acceleration.

I am doing my best with the UOC Patch to mitigate this, but I am limited by the code itself and until the issues (that you all know) are fixed for good, I will never be able to fully optimize 45 ESR as much as I want.

Meanwhile, I do my best, to the point I am not sleeping since almost a week in order to improve the 45 ESR version of the patch as much as possible, and in case of updates, I will post accordingly.

Stick to N2L for the time being, until there's an update, which will come, but I cannot give a deadline. Could be today, could be tomorrow, the next week, the next year, I don't know.

Edited by looking4awayout
Link to comment
Share on other sites


UPDATE!

All the versions of the UOC Patch, including the Enforcer, have been rewritten from scratch. This time, I have extensively reworked the tweaks used for the rendering engine, which allowed me to double the scrolling speed of the patched browsers, increasing the general responsiveness. Loading times have also been shortened, thanks to some tweaks backported from K-Meleon Goanna. The New Moon 28-specific version of the UOC Patch has been withdrawn, since now the Patch no longer comes with E10S enabled, due to compatibility issues on some machines with some video cards (especially ATI ones). Users of the SeaMonkey browser, especially version 2.48, can use the 45 ESR version of the Patch once again.

As all the changes are too many to be listed in a single post, I will limit myself to say that all the versions of the Patch have been extensively remade and tailored upon the peculiarities of each codebase, and this has required me to write thirteen different revisions, before coming out with the final version, which might be subjected to minor updates in future, as usual. I have successfully managed to mitigate the occasional stuttering issue that affects Mozilla based browsers, especially Firefox 45 ESR SSE, and thanks to the backporting of some parameters from K-Meleon Goanna and Serpent 52, I have managed to dramatically improve the overall speed of the browser and reduce the page loading times.

This, at least on the machines where the pre-release versions have been tested, proved to be a real game changer, turning old computers, no longer usable on the web, into decent web browsing machines. I also have reintroduced favicons, since some people complained about the lack of those in the previous versions of the Patch. The Awesome Bar has been disabled, keeping only the autocomplete feature active.

Please update to the newest version of the UOC Patch and the Enforcer, and start with a new, clean profile, as a "dirty" profile might hamper the performance of the patched browser.

The new build number is N2M.

Happy RDDin'!

Edited by looking4awayout
Link to comment
Share on other sites

9 hours ago, looking4awayout said:

Users of the SeaMonkey browser, especially version 2.48, can use the 45 ESR version of the Patch once again.

Were you able to confirm that APZ and/or tiled compositing are not broken in SM 2.48?

Link to comment
Share on other sites

6 hours ago, Mathwiz said:

Were you able to confirm that APZ and/or tiled compositing are not broken in SM 2.48?

Yes they are not broken and do work, although the framerate is slightly lower than the other browsers, probably there is a framerate cap in SM 2.48.

Edited by looking4awayout
Link to comment
Share on other sites

That's hopeful news for FF 51, which is on par with SM 2.48.

Of course we don't have an SSE-only build of FF 51 for you to test. But I could test it on Win 7, if I knew how!

If APZ/tiled compositing work in FF 51, that would narrow the search significantly for where they got broken (must've been between FF 51 and FF 52).

Link to comment
Share on other sites

maybe we can bisect from https://github.com/mozilla/gecko-dev/commit/857d1ac980d44356dc72b6c776d0598ddfc8eee2 to https://github.com/mozilla/gecko-dev/commit/d07aca95baf792ba610995b464278521141ef0a2 ?

EDIT: rev 857d1ac is built here (plain build(SSE2 build by default), nothing is changed here, --disable-skia switch removed from mozconfig as it doesn't build with this switch specified): http://o.rths.ml/gpc/files1.rt/gecko-dev-52.0a1-20160919-857d1ac980d4-win32.7z

Edited by roytam1
Link to comment
Share on other sites

I think another important thing to do is to find out what exactly causes the lag in Firefox 45 ESR SSE. Regular 45 ESR does not exhibit this issue, so instead of being an issue caused by Mozilla devs (which are the Devil, usually, but not in this case), it is a fault of the Tenfourfox developers, who have introduced something that causes a strain either on the CPU or the graphics card.

As for investigating the reason behind tiled compositing in FF52, I remember I have read somewhere that on 52, it has been tied with E10S. So you want tiled compositing? You must enable E10S.

While developing the new version of the Patch for SSErpent, I wanted to test it both with and without E10S enabled, and in either cases, it was a disaster: without E10S, scrolling gets laggy to the point it will stop often, and black rectangles appear on the screen.

With E10S enabled, on the other hand, scrolling is still laggy, but no black rectangles appear. Instead, if you scroll, the canvas doesn't redraw itself correctly, leaving a "smudged" effect on the screen. This is the reason that led me to abandon E10S support altogether and withdraw the NM28 specific version.

SeaMonkey 2.48 appears to be working fine with the 45 ESR version of the Patch, but I'm not sure if the browser ignores some of the entries or not. I will have to delve in the about:config to find out. My lack of free time doesn't help me.

Surely, it is not running as smooth as the other patched browsers, scrolling is fluid but seems kind of choppy, as if the maximum FPS have been capped to 30, while the patch sets the software rendering FPS to 120 and the hardware accelerated ones to 240.

The same things happen on my Compaq Deskpro DC7800 Convertible Minitower at work, which has a Core2 Duo E8300 and a GeForce GT430, so it's not an incompatibility issue.

Edited by looking4awayout
Link to comment
Share on other sites

OK, so my test plan for tomorrow is:

  1. Download and unpack @roytam1's FF 52.0.a1 build linked above
  2. Install the UOC Patch & Enforcer for FF 45
  3. Scroll up & down in some web pages and look for the issues seen above. Try both with e10s off and on.

Any suggested Web pages to try? Is MSFN enough?

Link to comment
Share on other sites

40 minutes ago, Mathwiz said:

OK, so my test plan for tomorrow is:

  1. Download and unpack @roytam1's FF 52.0.a1 build linked above
  2. Install the UOC Patch & Enforcer for FF 45
  3. Scroll up & down in some web pages and look for the issues seen above. Try both with e10s off and on.

Any suggested Web pages to try? Is MSFN enough?

When I test the patches I typically use darksky.net, a google search results page, MSFN, and the vogons forum

Link to comment
Share on other sites

Bad news, guys. 

The development of the UOC Patch is stopped until further updates, because the RDD's motherboard died today, the chipset most likely burned out. I am in the process of replacing the old motherboard (a QDI Advance 10T) with an Asus TUV4X, so I need to reinstall everything from the ground up and reapply all the tweaks I set up on the A10T, and that is going to take a lot of time, which prevents me to continue the development of the UOC Patch in the short and mid term.

I also suspect the motherboard might be either faulty or have incompatibilities with my SATA controller (Promise SATA300 TX2 Plus), so I also have to troubleshoot the system and locate the potential issue, hoping it's just a software one, rather than an hardware one.

The current version of the Patch and the Enforcer, N2M, are stable enough anyway so it can be fine for now.

Wish me luck.

Link to comment
Share on other sites

21 minutes ago, looking4awayout said:

RDD's motherboard died today, the chipset most likely burned out. I am in the process of replacing the old motherboard (a QDI Advance 10T) with an Asus TUV4X, so I need to reinstall everything from the ground up

Aw, man ... that's too bad. It didn't take the HDD with it did it? Can you just replace the MoBo and reactivate XP instead of reinstalling everything?

Link to comment
Share on other sites

20 minutes ago, Mathwiz said:

Aw, man ... that's too bad. It didn't take the HDD with it did it? Can you just replace the MoBo and reactivate XP instead of reinstalling everything?

I had to reinstall everything, XP does not boot on the new motherboard. I have formatted, but I have issues with boot process itself taking way too long (2 minutes and half) so I might either have to replace the SATA controller or get a new motherboard altogether.... And it's pretty much impossible to find the motherboard with the specs I need at a good price.

It will take time. For now, development is stopped.

Edited by looking4awayout
Link to comment
Share on other sites

Oh, wow ... so did you have to move to a newer Windows version?

17 hours ago, i430VX said:

When I test the patches I typically use darksky.net, a google search results page, MSFN, and the vogons forum

OK, unpacked FF 52.0.a1 into a new folder. Installed the UOC Patch for FF 45. Created a new, clean profile for it and installed the UOC Enforcer for 45.

Started it. (This version defaults to e10s on.) On Darksky.net I saw some of the same symptoms as you when scrolling up: black rectangles and/or incompletely-redrawn parts of the page. (Scrolling down seemed OK.)

Turned e10s off in about:config. (There seems to be a bug with the checkbox in about:preferences: it sets the wrong pref, and e10s stays on.) Much better; apparently e10s is incompatible with APZ and/or tiled compositing. But, one problem remained:

Capture.PNG.d3814ab19ad2a6b0c0d5584981697649.PNG

I couldn't get that dark grey overlay to completely disappear. Often it would cover the whole graphic, but if I scrolled up from below slowly, it would just cover the bottom part, as in this example.

As a control, everything looked fine on Serpent 55 (Moebius).

Do you remember if those were the same kinds of problems you had with SSErpent 52?

Link to comment
Share on other sites

If you have problems with booting XP, you might want to consider Server 2003. My laptop originally came with XP, but without a working battery it gets stuck on the boot screen when fading in 95% of the time (doesn't matter if it's base SP3, USP4 applied, or all POS updates applied). This also affects Windows 2000, but only about 10% of the time.

Server 2003 never fails to boot though. But obtaining it for a good price can be very difficult. You may want to wait it out and focus on getting hardware working with XP than taking a gamble on a different OS, since your hardware is completely different from mine.

Edited by win32
Link to comment
Share on other sites

The new motherboard is not stable. I cannot enable AGP Fast Writes and as soon as I do anything involving hardware acceleration, I get BSODs.

The development of the UOC Patch has been shelved until I stabilize the machine.

Edited by looking4awayout
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...