Jump to content

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


Recommended Posts


Everything is working correctly, within the limits of the card. Forgot to say, about Viewtube... You need to install VLC and enable the "VLC Web Plugin" in Firefox in order to set Viewtube to VLC in Firefox. No need to do anything with the Windows Registry (I did not do that when I've installed the script).

Edited by looking4awayout
Link to comment
Share on other sites

Fix bug "Youtube" on FX5***. layers.max-active set 1 or >1

https://searchfox.org/mozilla-central/source/mobile/android/app/mobile.js#514

Quote

We want to limit layers for two reasons:

 
1) We can't scroll smoothly if we have to many draw calls
 
2) Pages that have too many layers consume too much memory and crash.
 
By limiting the number of layers on mobile we're making the main thread work harder keep scrolling smooth and memory low.

Test:

PC1 (462 socket, FX5200, WinXP) Firefox 48.0.2 layers.max-active max 2, SeaMonkey 2.48 (SSE) max 1

PC2 (478 socket, FX5200, Win7) PM28 max 3

Edited by grey_rat
Link to comment
Share on other sites

The patch sets layers to -1 by default, so the maximum amount is decided per machine. If you experience issues in that way, you can set them to the amount your machine performs better with. As I already said in the first post, I encourage people to tailor the UOC Patch to their own needs, and I appreciate you are doing such with your computer.

Obviously, keep in mind that the basic configuration of the patch is based on my own machine, a Pentium III Tualatin with an ATI Radeon X1950 Pro, so there might be some difference in how the patched browser performs on other machines.

Also, some sites might break if you limit layers too much, so it is pretty much a YMMV situation. Check out if there are sites that might complain due to missing layers (frames that don't appear, buttons that don't click, things like that. Ebay seems to be particularly sensitive to that matter, sadly). They should be rare but if you stumble upon one, just increase them and you'll be good to go.

EDIT: Out of curiosity, I wanted to try to limit layers on the Tualatin RDD. Interestingly, if I set the maximum layers to just one, I get worse performance. While if I set them to 2, it runs much faster. I will experiment to find out if there is a "sweet spot" in terms of performance. If not, I will revert them back to -1 and call it a day. If I have enough free time this Sunday I will also release the bugfixed Patch that removes the double autoscroll value, which I thank @grey_rat for reporting it.

Edited by looking4awayout
Link to comment
Share on other sites

EDIT: I am working on an experimental version of the UOC Patch that introduces several touch ups to the compositing routines and network buffer size, as I want to find out if I can enable tiled compositing even on NVidia cards. But in order to do this, I want to make sure my changes work the intended way and so, this means:

I need beta testers! 

I need someone with an AGP GeForce 6 series and possibly, an SSE only CPU such as another Tualatin like mine or an Athlon XP. Early Pentium 4s can apply too as they are comparable in speed. But I need the testers to have Windows XP and New Moon 27, Firefox 45 ESR SSE and the other Roytam1's browsers. If anyone has a machine with the specs I need, please send me a DM.

Edited by looking4awayout
Link to comment
Share on other sites

UPDATE: New, experimental versions of the UOC Patch and the respective Enforcers are compiled and ready. I have not shared them publicly yet because I need beta testers. This time I have done more extensive changes, mostly in the Enforcer files, so I would need someone who can test the patches and report eventual issues. I have already reported to roytam1 the glitches in K-Meleon Goanna and New Moon 27 (in a lesser way) when tiled compositing is enabled, but I don't know if there might be issues with other machines. So if anybody wants to test the patches with all the browsers (SSE and SSE2 ones), including the Macintosh version (preferably someone who owns both a PowerPC and an Intel Macintosh), please let me know.

Link to comment
Share on other sites

UPDATE!

I have done some reworks on the UOC Patch, removing double entries and some other ones that were not applied by the patch. The default framerate has been increased to 240, as it makes scrolling smoother and the maximum amount of layers has been reduced to 6, which seems to be a good compromise between usability and performance. The fix for choppy scrolling with ATI cards has been implemented in the UOC Enforcer.

Some of the entries that were formerly located in the core UOC Patch have been moved to the UOC Enforcer, that now is required in order to fully enjoy the optimizations introduced by the new version. So, do not forget to install both the UOC Patch and the Enforcer! An explanation on how to install the UOC Enforcer is written in the first post of this thread. Build number is N2G.

The current version of the UOC Patch for Macintosh has been tested on an Intel based Mac Mini 1.1 running System 10.6.8 "Snow Leopard" and using Arctic Fox as a web browser, however it is currently untested on Power Macintosh computers. So, if you have a fast Power Macintosh system (can be either a Power Macintosh AIO G4/G5 or an iBook/ Powerbook G4), please test it and let me know how it runs with TenFourFox. G3 Macintoshes might apply, but I cannot assure how the Patch and the Enforcer would behave on such ancient setups (even though the latest version of the Patch + Enforcer has proven to work very well on a Celeron Mendocino system with 256MB of RAM, Windows 2000 + Extended Kernel and using the onboard Intel Extreme Graphics IGP of the i810 chipset.)

None of the UOC Patch + Enforcer version have been tested on Firefox Quantum. Which is obvious, because if your system can run Firefox Quantum, it means you clearly don't need the UOC Patch and the Enforcer in order to make it run better. Plus, Quantum has many differences from the "classic" versions of Firefox and derivatives, and so, I won't support it.

WARNING: In case you use @roytam1 K-Meleon Goanna as your main browser and you encounter rendering errors and artifacts when you scroll a webpage, open the UOC Enforcer (user.js, located in your K-Meleon Goanna profile folder) and set the following value "layers.enable-tiles" to False.

As always, please update to the latest version, test the Patch and the Enforcer on as many old machines as possible, let me know the outcome. Happy RDDin'!

EDIT: I have also removed the [Experimental] tag from the thread title, as the UOC Patch and the Enforcer have proven to be a solution to optimize Mozilla-based browsers for old machines.

EDIT 2: I have added a little Paypal Donation button in the main post of this thread. Why? You will ask. "Looking4awayout is e-begging!!!111!!1!!!1!oneoneoneone" someone will say.

Nope, I'm not e-begging, even though my financial situation is in dire straits. I've just put the donation button as a way for anyone to send me a little tip of appreciation for the efforts behind the development of the Patch, basically just a way to say thank you. Mind you, this doesn't mean that the UOC Patch will become a commercial product. Never! The Patch is and will be always free. It's just a way for someone to show some appreciation if they feel like. The button is there for  anyone who wants to donate something, it's not yelling "DONATE ME" at people. :lol:

Besides, I am happy to read about people who have improved the web performance of their old machines thanks to the Patch and the Enforcer. And I never thought it would have become so popular, back when I developed the first prototype of the patch for my Tualatin RDD. Which means, I must say a big "thank you" to everyone who downloads and uses the Patch and the Enforcer on their machine, and to MSFN for believing in me and my idea of breathing some life into obsolete hardware, which still works fine and does not deserve to be scrapped only because "it's old".

Edited by looking4awayout
Link to comment
Share on other sites

UPDATE!

I have done some major reworks to the previous version, as I have found some bugs that for some reason I overlooked. I also have implemented some new entries in the UOC Enforcer. I have released the new version of the UOC Patch, N2H. Please test it, as I might do some changes in the meantime. The UOC Enforcer is now rquired in order to fully enjoy the optimizations introduced by the new version. So, do not forget to install both the UOC Patch and the Enforcer! An explanation on how to install the UOC Enforcer is written in the main post. Build number is N2H.

Edited by looking4awayout
Link to comment
Share on other sites

UPDATE!

I have done an extensive modification on both the 38 ESR and the 45 ESR versions of the UOC Patch and the Enforcer. This has allowed me to drastically reduce the filesize (the UOC Patch and the Enforcer now are only 4kb large!), as well as improving the overall responsiveness of the browsers.

Please update and let me know how your machine works after applying them!

The only version I haven't touched yet is the Macintosh version, as I do not have access to my Mac Mini right now. Once I have access to it, I will port the updates to that platform as well.

Link to comment
Share on other sites

Size from over 40kB to 2-3kB, great!
Finally. Am glad that this is now not a personal profile anymore, complete with all custom addons and custom install paths, but now really just focused on the prefs for the purpose :-)

Now it's becoming more interesting, perhaps for myself too, after recently having run into black screens on another machine. When I get around, may try it...
Just a bit typo remarks after taking a short look inside (not pref-related)
patch45: at start of line 55
patch38+45: the first 2 comment lines start with #, that should be // for javascript (like in enforcer)
patch38: the comment on top prohibiting to edit is a remnant from prefs.js, it doesn't belong into UOC.

In general it would be helpful to also add a few comments to some of the single pref lines.
E.g. for this:
user_pref("browser.sessionstore.restore_on_demand", false);
Wondered if that may mean it's on, or off... not sure. But was just general interest, not for myself.
Offtopic: sessionstore in general seems to be much more dangerous as one would assume. Even for hardware: have read the Firefox method is infamous for writing completely INSANE amounts of data to disk: even Gigabytes without any browsing, just idle, as some experts have tested. No wonder that lots of supposedly supermegarobust SSD-disks are self-destroying after 1-2 years, although manufacturers and fanatics still insist SSDs would live forever, at least 20years - ha ha... (And they also claim it were 1) harmless and 2) necessary for FF sessionmanager to write such amounts to store sessions, even without browsing... Insane or what?!)
IIRC one of the victims of 1-year old dead SSDs was also the K-Meleon project. It crashed on our main dev, for unknown reasons, and when he tried to restore a backup, the backup disk got destroyed/formatted by modern Windows OS... Lost quite some work, and seems interest too, since afterwards the KM-development was completely dead again (until roytam came.) Have no clue if he used FF and sessionrestore or not, it's just yet another supposedly undestructable SSD living only a year.

Edited by siria
Link to comment
Share on other sites

While the 38 ESR version seems to behave as it should, I am working on the 45 ESR version, hoping I can iron it enough to squeeze some extra performance out of it. I still need to rewrite the Macintosh version. Please test the 45 ESR version of the patch and the Enforcer and let me know the outcome. Stay tuned!

Link to comment
Share on other sites

looking4awayout said:


While the 38 ESR version seems to behave as it should, I am working on the 45 ESR version,



That reminds me: the typo in 45 line55 probably makes that all following lines are ignored.

Had the same prob in my own personal files, and noticed it only accidentally, probably much later.
Then invented a little trick to make it visible on about:config if the file was damaged:
pref on top of file:
pref("aaa.CHECK.mysettings.COMPLETE", "*** BROKEN! *** CHECK! ***");
pref at end
pref("aaa.CHECK.mysettings.COMPLETE", "OK");
:-)

Link to comment
Share on other sites

UPDATE!

I have updated both the 38 ESR and 45 ESR versions of the UOC Patch. Please update and let me know how they run on your old machines!

EDIT: Macintosh version updated as well.

EDIT 2: I have finally found the culprit behind the occasional stuttering when a website is scrolled. The reason is due to a behavior of both Gecko and Goanna, called "reflowing". Basically it seems that part of the canvas gets briefly reloaded when a page is scrolled, causing the stutter. I'm not a web designer so pardon if my explanation is incorrect, but this seems to behave that way.

Now that I have finally found the culprit (at least on my machine), I have managed to disable the automatic reflowing of the canvas when a page is scrolled, fixing the issue, at least on my machine. I have updated the UOC Patch for every platform so please, re-download and update the patch accordingly. I might add some other features in the next days, so make sure you follow this thread in order to get the latest developments of the UOC Patch and the Enforcer.

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