Quantcast
Channel: Windows XP Latest Topics
Viewing all articles
Browse latest Browse all 2068

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

$
0
0

*UPDATE!*

I have officially ported the UOC Patch to the Macintosh! The Macintosh version of the patch is based on the 38 ESR version, meaning it's conceived to work on the Mozilla-based browsers that are based on the Firefox 38 ESR codebase, such as TenFourFox and Arctic Fox. Due to the lack of PowerPC hardware, I haven't been able to test the patch on TenFourFox and Classilla, but it should work. The Macintosh version of the UOC Patch uses the 38 ESR version of the Enforcer.

I have partially reworked the structure of the patch, allowing me to save 20KB. Memory cap for Javascript has been increased to 96MB, disabled the bugged asynchronous pan and zoom feature in both versions. Build number is N2F.

A brief introduction

Hi everybody, I'm writing this thread because I would like to share with you an experiment I made as a result of two years of using an old, single core system (an overclocked Pentium III-S Tualatin 1.4GHz) with the modern web. As you all know, the most versatile and useful web browser to use for old machines, especially XP ones, is Mozilla Firefox, thanks to its customizability, the numerous forks that it spawned and the built in certificates manager that makes things easier if we want to connect old computers to the internet.

This thread focuses specifically on @roytam1's browsers for XP, such as New Moon 27 SSE and Firefox 45 ESR SSE, because they are the ones I use on my Pentium III system and the ones I used as a base to develop my "patch". We know that old computers, especially if single core or SSE only systems, can struggle a bit with the stock versions of these browsers, because they are quite resource intensive, and so the experience is quite limited unless you have an hardware that is capable enough to run the browser comfortably.

So, a year ago, back when my Tualatin was still a 800Mhz Coppermine system, I started delving into the about:config of Pale Moon first, and New Moon later, in order to reduce as much CPU and RAM consumption as possible. Had to do several trials and errors, but in the end, I finally managed to get improvements in responsiveness and overall speed on the browser and so, after six revisions, I officially want to release the UOC Patch, my personal attempt, inspired by the community and by my experience of using an old computer as a daily driver, at making web browsing with Firefox and derivatives a much more enjoyable experience.

 

Ok ok, good. So what's the UOC Patch?

The UOC Patch (shortened form of Ultra One Core Patch) is a custom Global Preferences file available for any Mozilla based browser that uses the codebase of Firefox 38 ESR (such as Pale Moon and Roytam1's New Moon) or Firefox 45 ESR (i.e. Firefox 45 ESR SSE always by Roytam1), that is aimed at optimizing the browser to run on old machines and to consume less resources.

Bear in mind that I developed the UOC Patch for my machine, which used to be a 800Mhz Coppermine and now is an overclocked 1.4GHz Tualatin, so it might perform differently on yours, but it should bring some improvement in terms of speed.

The UOC Patch is a Defaults Override file, meaning that it goes in the following directory "C:\Program Files\{Your Mozilla based browser}\Defaults\Pref\".

As soon as you put the patch into the "Pref" folder, the default about:config parameters will be replaced by the ones of the patch, unless you have modified the same parameters. If so, you can switch to the UOC Patch parameters by simply resetting them in the about:config.

(If you feel adventurous, you can even open the patch with your favourite text editor, replace the "Pref(" parameter with "user_pref(" and embed it in your Prefs.js file, but this method might be cumbersome for beginners.)

 

The requirements? Surely it has them.

Well, yeah. The UOC Patch requires at least a DirectX 9 capable graphics card. Even though it will work on a DirectX 8 card, I don't have one I can use to test it so it's pretty much untested. I tested the patch with a Geforce FX5500, an FX5600, a 6800GT and an ATI Radeon HD3850 and my current graphics card, an X1950 Pro, and the patch speeds up the browser as it should. Then, ideally, the CPU. A 800MHz CPU and higher can give you a better experience, again, I don't know how it does perform on a slower CPU. RAM wise, any system that can run New Moon 27 and derivatives or Firefox 45 ESR SSE will support the UOC Patch without issues. So, to recap, you need:

  • A DirectX 9 capable graphics card with at least a 128 bit buss
  • A 800MHz CPU or faster for better performance
  • Enough RAM to support New Moon 27/Firefox 45 ESR SSE and other Roytam1's Mozilla based browsers

 

Ok now that we know the specs, how to install it?

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. The UOC Patch will be automatically applied alongside your existing preferences. But as a safety measure, do make a backup of your prefs.js file inside your profile folder, before launching the patched browser.

In order to access your profile folder, you must make sure that the hidden folders are visible (if not, you must go in the Control Panel, then choose Folder Options, and tick the box that says "Show Hidden Folders"), then navigate to your Firefox/New Moon/Mozilla browser profile folder (i.e. C:\Documents and Settings\{Your Username}\Application Data\Mozilla\Firefox\Profiles\{Your Profile Folder}), you will find a file called "prefs.js". Make a copy of the file and rename it to "prefs.bak" to back it up.

For K-Meleon users, check out Mathwiz's post below:

 

Enough with the words! I want to download it!

Okay, okay. There you go. These are the download links for the UOC Patch. Remember, you must not absolutely use the UOC Patch for a particular codebase with a browser that uses a different one. You might experience issues. These two versions are conceived for the Firefox 38 ESR and 45 ESR codebases, so any fork of Firefox that uses those codebases, will work with their respective version of the patch. Choose carefully.

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

For 38 ESR-based Macintosh browsers (i.e. TenFourFox, Arctic Fox): Click Here

For Firefox 45 ESR SSE and 45 ESR based browsers: Click Here

 

Introducing the UOC Enforcer

The UOC Enforcer is a custom "user.js" file that  acts as an add-on for the UOC Patch and must be placed into the browser's profile folder and 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.

In order to install the UOC Enforcer, you must put the user.js file into your Firefox/New Moon/Pale Moon/Sea Monkey profile folder, that you can usually find at C:\Documents and Settings\User\Application Data\{Your Browser}\{Browser Name}\{Profile Folder} on XP and at C:\Users\{Username}\AppData\Roaming\{Your Browser}\{Browser Name}\{Profile Folder}.

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

UOC Enforcer for Firefox 38 ESR  based browsers (i.e. New Moon 27, Seamonkey, K-Meleon): Click Here

UOC Enforcer for Firefox 45 ESR based browsers (i.e. Firefox 45 ESR SSE and upwards): Click Here

 

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

While it's not strictly compulsory to reduce the awesome bar to just one entry, I do it to save RAM. It's important to set the max decoded image memory to 512000 though, as that further speeds up images rendering. For some reasons, the browser ignores just these parameters. But it's just a quick fix, just open about:config and edit the parameters above. This section will be further updated if I find more parameters that the browser ignores from the Patch.

 

A Final Note

Please, by all means, test the patch on as many systems as possible! The more the configurations, the better will be. Due to space constraints and lack of money, I don't have access to different systems I can test the patch with, and my Tualatin is the computer I used as a testbed for its development and so, I made it focusing on the hardware I had and currently have. The UOC Patch is not strictly limited to single core systems, but it can be used on any old and slow computer that runs Roytam1's Mozilla forks, it would be interesting to see if it can bring some benefits even on faster systems, or even slower ones: I don't have a Pentium II or an AMD/Intel Socket 7 system to test the patch with, otherwise I would have tried it on those too. The UOC Patch has not been tested on K-Meleon and SeaMonkey, but mostly because I'm still experimenting with those and so if you want to try it on those browsers, it's entirely up to you.

There are some extensions I heartedly recommend to use alongside the UOC Patch to make the experience much better. These are:

  • NoScript (I recommend v2.6.9.32 or v2.6.9.27 for New Moon, and v2.9.0.9 for Firefox 45 ESR SSE)
  • Decentraleyes 1.4.2
  • Bluhell Firewall 2.5.3
  • UAControl 0.1.3.1.1 (To change the user agent on the fly, per website)
  • uBlock Origin 1.10.0
  • Vacuum Places Improved 1.2.1

And this one is optional, Youtube 2 Player, a nifty plugin that turns Youtube links into redirects to VLC, so whenever you click on a Youtube link, the video will be loaded automatically in VLC, thus saving resources and CPU cycles.

Okay, that's all folks. Now if you want to throw rocks or tomatoes or veggies at me, feel free to do so. I developed this in my free time with a desire of curiosity and experimentation, to see if I can push my old machine to its extreme limit, and so far, at least personally, I'm quite satisfied. But as always, it's up to you to judge whether the UOC Patch is actually useful for your system, or it's an utter piece of garbage. Be aware I'm not responsible of any pandemy, nuclear warfare, space/time continuum and so on caused by your system. I upload the UOC Patch for experimental purposes, and it's provided AS IS. Happy RDD'ing!


Viewing all articles
Browse latest Browse all 2068

Trending Articles