foxPEP - The Firefox Partitioned Engine Patch

Status
The first post in this thread is a WikiPost, and can be edited by anyone with the appropriate permissions.

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
foxPEP Master.png


Version 1.7 | Developed by zgxSystems

The Firefox Partitioned Engine Patch, or foxPEP, is a finely tuned all-in-one parameters patch designed exclusively for Firefox-based browsers that leverages advanced rendering methods, lifts all limitations for increased server connections in tandem, and amplifies the user's privacy while simultaneously hardening browsing security.

When combined, this results in an experience that:

o Fully unlocks the power of video cards and multiple cores ...

o Shortens website loading times ...

o Accelerates page scrolling ...

o Keeps you safer when browsing the Web ...

o ... And renders image heavy areas twice as fast!


-


Currently Supported Browsers

Firefox

Waterfox

Arctic Fox

TenFourFox

SeaMonkey

Pale Moon

-


Currently Supported Operating Systems

Mac OS X 10.4 and up

Windows 2000 and up

Any Linux distribution running Firefox 38 (derivatives) and up

-


-

Firefox Partitioned Engine Patch Wiki


Version 1.7 | Quoted descriptions from wiki.mozilla.org or kb.mozillazine.org


Engine One [ Site Loading ]


network.http.max-connections - 888

"The total number of HTTP connections the application can make is limited by this preference. If more connections are needed, they are queued until a connection 'slot' is available."

network.http.max-persistent-connections-per-proxy - 88

"HTTP keep-alive connections can be re-used for multiple requests, as opposed to non-keep-alive connections, which are limited to one request. Using keep-alive connections improves performance. If a proxy server is configured, the total number of HTTP keep-alive connections the application can make to it is limited by this preference. If more connections are needed, they are queued until a connection "slot" is available."

network.http.max-persistent-connections-per-server - 8

"The total number of HTTP connections the application can make to a single server is limited by this preference. If more connections are needed, they are queued until a connection "slot" is available."

network.http.pipelining - true

"In HTTP 1.1, multiple requests can be sent before any responses are received. This is known as pipelining. Pipelining reduces network load and can reduce page loading times over high-latency connections, but not all servers support it. Some servers may even behave incorrectly if they receive pipelined requests. If a proxy server is not configured, this preference controls whether to attempt to use pipelining."

network.http.pipelining.aggressive - true

This preference controls how much restraint the browser possesses when pipelining.

network.http.pipelining.ssl - true

"In HTTP 1.1, multiple requests can be sent before any responses are received. This is known as pipelining. Many problems with pipelining are related to broken proxy servers sitting between the user and the destination web site. Since this is not a problem with SSL, it is possible to turn on pipelining for SSL websites only. This preference controls whether to use pipelining for secure websites, regardless of netork.http.pipelining."

network.http.proxy.pipelining - true

"In HTTP 1.1, multiple requests can be sent before any responses are received. This is known as pipelining. Pipelining reduces network load and can reduce page loading times over high-latency connections, but not all servers support it. Some servers may even behave incorrectly if they receive pipelined requests. If a proxy server is configured, this preference controls whether to attempt to use pipelining with the proxy
server."


network.http.pipelining.maxrequests - 444

"In HTTP 1.1, multiple requests can be sent before any responses are received. This is known as pipelining. This preference specifies the maximum number of requests to pipeline at once when pipelining is enabled."

network.http.pipelining.max-optimistic-requests - 444

"In HTTP 1.1, multiple requests can be sent before any responses are received. This is known as pipelining. This preference specifies the maximum number of optimistic requests to pipeline at once when pipelining is enabled."

network.http.keep-alive - true

"HTTP keep-alive connections can be re-used for multiple requests, as opposed to non-keep-alive connections, which are limited to one request. Using keep-alive connections improves performance. If a proxy server is not configured, this preference controls whether to use keep alive connections on supporting servers."

network.protocol-handler.external.disk - true

This preference determines whether the protocol handler will use an external disk.

network.protocol-handler.external.disks - true

This preference determines whether the protocol handler will use external disks.

network.prefetch-next - true

"Link prefetching is when a webpage hints to the browser that certain pages are likely to be visited, so the browser downloads them immediately so they can be displayed immediately when the user requests it. This preference controls whether link prefetching is enabled."

network.websocket.max-connections - 888

This preference determines the maximum amount of WebSocket connections that can be made to the server.

network.dns.disablePrefetch - false

"This feature allows Firefox to perform domain name resolution proactively and in parallel for hyperlinks, images, CSS, JavaScript, and other webpage content."

browser.urlbar.maxRichResults - 4

"This preference determines how many entries should appear (at most) in the
dropdown."


browser.sessionhistory.max_entries - 8

This preference determines how many previous pages the browser can keep cached.

javascript.options.mem.max - 65536

This preference determines the maximum amount of memory JavaScript content can occupy in kilobytes.

javascript.options.mem.high_water_mark - 32

This preference determines how much memory in megabytes JavaScript content can occupy before the browser activates garbage collection.

image.mem.max_decoded_image_kb - 65536

This preference determines how much image data in kilobytes the browser can keep cached.



Engine Two [ Content Rendering ]


image.decode-immediately.enabled - true

This preference controls whether to decode images as soon as their information is retrieved from the server.

image.downscale-during-decode.enabled - false

This preference controls whether to downscale images while decoding them.

image.multithreaded_decoding.enabled - true

This preference controls whether to decode images with multiple threads.

image.onload.decode.limit - 0

This preference controls how fast images are rendered as soon as they come into view.

media.webm.enabled - false

This preference controls the browser’s ability to accept and play WebM video content when streaming.

media.hardware-video-decoding.force-enabled - true

This preference forces hardware acceleration when decoding video streams.

gl.msaa-level - 0

This preference controls if the browser's graphics libraries will utilize multi-sample anti-aliasing.

gl.multithreaded - true

This preference controls whether to use multiple threads for the browser graphics libraries.

gfx.offscreencanvas.enabled - true

This preference controls whether to render content that is off-screen.

gfx.webrender.all - true

This preference controls the state of WebRender.

gfx.font_loader.delay - 0

This preference controls how fast text will display, even if page fonts aren't fully downloaded.

gfx.downloadable_fonts.fallback_delay - 0

This preference controls how fast text will display, even if page fonts aren't fully downloaded.

gfx.downloadable_fonts.fallback_delay_short - 0

This preference controls how fast text will display, even if page fonts aren't fully downloaded.

nglayout.initialpaint.delay - 0

"Mozilla applications render web pages incrementally - they display what's been received of a page before the entire page has been downloaded. Since the start of a web page normally doesn't have much useful information to display, Mozilla applications will wait a short interval before first rendering a page. This preference controls that interval."

layers.deaa.enabled - false

This preference controls the state of delayed anti-aliasing.

layers.offmainthreadcomposition.enabled - true

This preference controls the state of Off Main Thread Composition, or how intelligently the browser manages multiple threads for content rendering.

layers.omtp.enabled - true

This preference controls the state of Off Main Thread Painting, or how intelligently the browser manages multiple threads for content rendering.

layers.acceleration.force-enabled - true

This preference controls the state of forced hardware acceleration.

canvas.poisondata - true

This preference controls the state of poisoned canvas surfaces.

content.maxtextrun - 64

"Rather than wait until a page has completely downloaded to display it to the user, Mozilla applications will periodically render what has been received to that point. Because the application must wait for a node to be completed before rendering it, very long text nodes can prevent the page from reflowing. To prevent the wait, Mozilla applications split text nodes to a length specified by this preference."



Engine Three [ Scrolling Fluidity ]


layout.frame_rate.precise - true

This preference determines how accurately the browser enforces a targeted frame rate.

layout.frame_rate - 80

This preference determines the targeted browser frame rate.

layers.offmainthreadcomposition.frame-rate - 80

This preference determines the targeted Off Main Thread Composition frame rate.

gfx.canvas.azure.accelerated - true

This preference determines the state of hardware accelerated compositing layers.

gfx.canvas.azure.backends - skia,cairo

This preference determines the canvas and content backends when rendering content.

general.autoScroll - false

This preference controls the state of auto scrolling.

general.smoothScroll - false

This preference controls the state of smooth scrolling.

general.smoothScroll.lines - false

This preference controls the state of smooth scrolling.

general.smoothScroll.mouseWheel - false

This preference controls the state of smooth scrolling when using the mouse wheel.

general.smoothScroll.other - false

This preference controls the state of smooth scrolling.

general.smoothScroll.pages - false

This preference controls the state of smooth scrolling.

general.smoothScroll.pixels - false

This preference controls the state of smooth scrolling.

general.smoothScroll.scrollbars - false

This preference controls the state of smooth scrolling when using the scroll bars.

toolkit.scrollbox.verticalScrollDistance - 5

This preference determines the panning distance to scroll each time an arrow key is
pressed.


toolkit.scrollbox.smoothScroll - false

"When more tabs are present on the tab strip than can be displayed at once, the tab strip becomes scrollable to handle the overflow. Switching to another tab that is not currently in view will cause the tab strip to scroll so that the tab is visible. This preference determines whether to scroll the new tab into view smoothly, or to have it snap into view."

mousewheel.acceleration.start - 1

This preference determines how many times the mouse wheel must complete a singular turn before the page can scroll.

mousewheel.min_line_scroll_amount - 20

This preference determines the minimum amount of lines to be panned when the mouse wheel completes one singular turn.

webgl.force-enabled - true

This preference controls the state of WebGL.

webgl.disable-angle - true

This preference controls the state of native OpenGL leveraging by WebGL.

webgl.max-warnings-per-context - 0

This preference determines the maximum amount of warnings for each context.

webgl.prefer-16bpp - true

This preference determines if WebGL prefers rendering with 16 bits per pixel.

webgl.default-no-alpha - true

This preference determines if WebGL uses alpha by default.

webgl.enable-draft-extensions - true

This preference determines whether WebGL will use draft extensions.

webgl.enable-privileged-extensions - true

This preference determines whether WebGL will use privileged extensions.



Engine Four [ Browser Hardening ]


network.cookie.cookieBehavior - 1

"This preference controls how the browser allows cookies."

network.http.referer.trimmingPolicy - 1

"Controls how much referrer to send regardless of origin."

network.http.referer.XOriginPolicy - 1

"Controls whether or not to send a referrer across origins."

network.http.referer.XOriginTrimmingPolicy - 1

"Controls how much referrer to send across origins."

network.http.spdy.enabled - false

This preference controls the state of SPDY.

network.http.speculative-parallel-limit - 0

This preference controls the amount of speculative parallel connections that can be automatically made every time the cursor hovers over a link.

network.IDN_show_punycode - true

"IDN support allows users to enter domain names containing extended characters that aren’t supported in “standard” URLs. This makes it possible for international websites to register domain names using characters native to local languages. In order to expand the number of characters allowable in domain names to include all Unicode characters, a type of encoding called "Punycode" was developed. This encoding uses legal characters in domain names—dashes, letters, and numbers—to represent Unicode characters. When IDN support is enabled, Mozilla recognizes domain names encoded this way and converts them into Unicode strings. Thus, a domain name that looks like http://xn--tdali-d8a8w.lv/ is converted into a domain name that looks like http://tūdaliņ.lv. Mozilla’s initial response to phishing attacks using IDNs (after disabling IDNs entirely) was to display the punycode form of IDN URLs. This preference determines whether all IDNs displayed in the browser are displayed as punycode or as Unicode."

network.predictor.enabled - false

This preference controls the state of the browser predictor.

experiments.enabled - false

This preference controls the state of experiments.

experiments.activeExperiment - false

This preference controls the state of active experiments.

beacon.enabled - false

This preference controls websites' ability to track the browser after it has left the site.

browser.newtabpage.enabled - false

This preference determines the state of the updated new tab page.

browser.newtabpage.enhanced - false

This preference determines the enhanced state of the updated new tab page.

browser.send_pings - false

"The Web Applications 1.0 specification (also known as HTML5) defines a new attribute for <a> elements: ping. This attribute contains one or more URIs to “ping” (send a POST request to) when the user clicks the link. The attribute would be useful for letting websites track visitors’ clicks."

toolkit.telemetry.enabled - false

This preference controls the state of browser telemetry. Reliant on datareporting.healthreport.uploadEnabled;false to take effect on FF40 and below.

social.directories - ""

This preference determines the social directories.

social.whitelist - ""

This preference determines the social whitelist.

social.remote-install.enabled - false

This preference controls the state of remote installs.

social.toast-notifications.enabled - false

This preference controls the state of toast notifications.

camera.control.face_detection.enabled - false

This preference controls the browser's ability to use facial detection when interfacing with a camera.

datareporting.healthreport.uploadEnabled - false

This preference controls the state of Firefox Health Report on versions 40 and below. Reliant on toolkit.telemetry.enabled;false to take effect on FF40 and below.

datareporting.policy.dataSubmissionEnabled - false

This preference controls the state of Firefox Health Report on versions 41 and up.

device.sensors.enabled - false

This preference controls websites' ability to read device hardware sensors.

dom.battery.enabled - false

This preference controls websites' ability to read the system battery charge level.

dom.ipc.plugins.enabled - false

This preference controls the state of the browser plugin container.

dom.event.clipboardevents.enabled - false

This preference controls websites' ability to observe instances of cutting, copying, and pasting from the clipboard in specific locations.

dom.event.contextmenu.enabled - false

This preference controls websites' ability to affect the context menu.

dom.gamepad.enabled - false

This preference controls the browser's ability to interface with a game controller.

dom.use_watchdog - false

This preference controls the state of Watchdog.

dom.vibrator.enabled - false

This preference controls websites' ability to interface with a device’s vibration motor.

dom.vr.enabled - false

This preference controls the browser's ability to interface with a virtual reality headset.

geo.enabled - false

This preference controls websites' ability to autonomously acquire the user’s location.

memory.free_dirty_pages - true

This preference manages intelligent memory allocation.

plugin.default.state - 0

This preference controls the state of installed plugins.

media.navigator.enabled - false

This preference controls websites' ability to interface with the device camera and microphone.

media.peerconnection.enabled - false

This preference controls the state of WebRTC.

privacy.donottrackheader.enabled - true

"The “Do Not Track” feature is a mechanism that allows to communicate a user's tracking preferences to websites. User tracking is performed by websites, including advertisers and analytics services as well as social sites, to gather information about the user's web browsing pattern. This includes the history of sites visited along with preferences stated and purchases made. Such sites often use this information to show advertisements for products or services specifically targeted based on the user's profile."

privacy.firstparty.isolate - true

This preference controls the isolation of cookies to first party domains.

privacy.resistFingerprinting - true

This preference controls the state of built-in fingerprinting resistance.

privacy.trackingprotection.enabled - true

This preference controls the state of built-in tracking protection.

privacy.trackingprotection.cryptomining.enabled - true

This preference controls the state of built-in cryptominer blocking.

privacy.trackingprotection.fingerprinting.enabled - true

This preference controls the state of built-in fingerprinting blocking.



Point Of Interest Preferences


layers.omtp.enabled - true

Causes tabs to sometimes or immediately crash on select Linux desktops, FF 60+

layers.acceleration.force-enabled - true

Causes certain images to render in orange hue on select Linux desktops, PM 28

2020 zgxSystems
 

Attachments

Last edited:

Hughmac

macrumors demi-god
Feb 4, 2012
3,692
13,076
Kent, UK
Oh wow! Even faster than IceWeaselPPC now - thanks for this :)

I went into the link and downloaded the files - user.js I put into /Library/Application Support/Firefox/Profiles etc., and UOC_Patch_Mac.js into /Applications/TenFourFox/Contents/Resources/Defaults/Pref
That way my prefs.js was untouched.

I did a launch comparison between IceWeaselPPC and TenFourFox7450 on my PowerBook DLSD, each loading 3 heavyweight tabs, and TFF was 30 seconds faster to finish loading everything.

Now to try it out on my Pismo ;)

Cheers :)

Hugh
 
  • Like
Reactions: looking4awayout

looking4awayout

macrumors newbie
Oct 20, 2019
17
17
Europe
I'm glad you have tried my implementation of the UOC Patch for Macintosh, which was created on a Mac Mini 1.1 (Macintel!) and mostly aimed to Arctic Fox, and I'm even more glad there's been a major speedup on your machine.

You should also check out the PowerUOC, developed jointly by me and @z970mp exclusively to be used for PowerPC based Macintoshes, and see if there's a difference. There should be, considering the PowerUOC is focused only on PPC Macintoshes, while my Macintosh version of the UOC Patch + Enforcer is aimed mostly to Macintels.

Don't forget the installation of the PowerUOC Patch is different, requiring you to replace your prefs.js file entirely, so make a backup copy of your old one. In case you have custom entries in your file, just copy and paste them into the PowerUOC's prefs.js file and you'll be ready to go. Of course, to use the PowerUOC you will have to remove the UOC Patch from the Prefs folder and the Enforcer from your profile folder. But you can experiment, to see if the Enforcer with the PowerUOC patch brings even more improvements.

I'd be interested to find out if that combination (PowerUOC + Enforcer) works and how good it works. :)
 
  • Like
Reactions: z970mp and Hughmac

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
I'd be interested to find out if that combination (PowerUOC + Enforcer) works and how good it works. :)
PowerUOC is the Patch + Enforcer (+ Additional Adjustments) in one file, so there wouldn't be any difference, especially as a new prefs.js file must be created with the user.js file present for the Enforcer to take any effect.
 
  • Like
Reactions: looking4awayout

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
PowerUOC has been updated to version 2.

This update improves speed, fixes bugs, and hardens privacy + security. More details can be found in the Changelog.

Get it while it's hot!
 
  • Like
Reactions: skinniezinho

Appleuser201

macrumors 6502
Oct 12, 2018
362
189
Oh wow! Even faster than IceWeaselPPC now - thanks for this :)

I went into the link and downloaded the files - user.js I put into /Library/Application Support/Firefox/Profiles etc., and UOC_Patch_Mac.js into /Applications/TenFourFox/Contents/Resources/Defaults/Pref
That way my prefs.js was untouched.

I did a launch comparison between IceWeaselPPC and TenFourFox7450 on my PowerBook DLSD, each loading 3 heavyweight tabs, and TFF was 30 seconds faster to finish loading everything.

Now to try it out on my Pismo ;)

Cheers :)

Hugh
How does it run on your pismo? Very excited about PowerUOC, the next gen TenFourFox.
 
  • Like
Reactions: z970mp

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
How does it run on your pismo? Very excited about PowerUOC, the next gen TenFourFox.
I know this isn't the answer, but it makes a G5 feel like a Core 2 Duo, especially when paired with the MVPS Hosts file (also available from AquaSuite / AuroraSuite). When those two are combined, it really does feel like it just strips the modern Web of all its bloat, on the spot.

And its sheer POWER really goes to show when you consider TenFourFox is compiled with GPU-accelerated windows off, multiprocess windows off, and WebGL off (those are good starting points for PowerFox), putting a disproportionate amount on the CPU. And we wonder why TFF has the performance stigma it does...

Hey, maybe we ought to rename it to PowerhouseUOC. ;)
 

Appleuser201

macrumors 6502
Oct 12, 2018
362
189
I know this isn't the answer, but it makes a G5 feel like a Core 2 Duo, especially when paired with the MVPS Hosts file (also available from AquaSuite / AuroraSuite). When those two are combined, it really does feel like it just strips the modern Web of all its bloat, on the spot.

And its sheer POWER really goes to show when you consider TenFourFox is compiled with GPU-accelerated windows off, multiprocess windows off, and WebGL off (those are good starting points for PowerFox), putting a disproportionate amount on the CPU. And we wonder why TFF has the performance stigma it does...

Hey, maybe we ought to rename it to PowerhouseUOC. ;)
Since a core 2 duo is almost twice as fast as today's low end net books and chrome books, that means for the first time in years I can Recommend, that people go and buy a used iMac G5 or power Mac for $50 and install powerfox on it. They will actually get a BETTER web experience on a PowerPC G5 over an Intel netbook with Chrome. Plus no one is stealing and selling their data and you get rock solid os x leopard, or tiger.

I'm starting to notice how cheap people are selling their PMG5s on Kijiji. Working dual processor 2gjz for $45? Really?
 

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
Version 4 is almost ready. :)

In response to Dr. Kaiser, streaming HD in-browser video on anything less than a Quad is no longer "LOL".

And they said it couldn't be done...


(A G5 is still recommended.)
 
Last edited:

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
Since a core 2 duo is almost twice as fast as today's low end net books and chrome books, that means for the first time in years I can Recommend, that people go and buy a used iMac G5 or power Mac for $50 and install powerfox on it. They will actually get a BETTER web experience on a PowerPC G5 over an Intel netbook with Chrome. Plus no one is stealing and selling their data and you get rock solid os x leopard, or tiger.
If people are willing to get their hands dirty for a couple hours, a $35 Raspberry Pi 4 or Rock64 2GB will do the job even better and more securely. My Pi 3 is doing great as my DD, especially after I picked this up, overclocked the SoC to 1.4GHz / RAM to 600MHz, increased the swap file from 100 to 1024 MB, etc., etc. I could make a whole list of this stuff.

Just make sure you're booting from an SSD (not a microSD). That's the game changer. ;)
 
Last edited:

Project Alice

macrumors 6502a
Jul 13, 2008
880
508
Post Falls, ID
And its sheer POWER really goes to show when you consider TenFourFox is compiled with GPU-accelerated windows off, multiprocess windows off, and WebGL off (those are good starting points for PowerFox), putting a disproportionate amount on the CPU. And we wonder why TFF has the performance stigma it does...
Well that explains a lot. This should be fixed. All these TFF based browsers popping up; are any of them being complied to not go ape-sh*t on the CPU?
 
  • Like
Reactions: z970mp

Hughmac

macrumors demi-god
Feb 4, 2012
3,692
13,076
Kent, UK
Unfortunately slower than without in my case :(

Cheers :)

Hugh
Apologies - I lied, TFF is much faster in Leopard on the Pismo, and I can't see much difference in Tiger, but bear in mind that anything runs slow on a Pismo using 10.4 or 10.5 ;)

Cheers :)

Hugh
 

Dronecatcher

macrumors 68040
Jun 17, 2014
3,278
2,788
Lincolnshire, UK
This is getting silly now. WebGL is not supported in Tiger and as far as I know, not supported in Mozilla on PPC Leopard.
Go to a benchmark site here and try it yourself.

These are the results I get on my 1.33 Powerbook for Tiger and 1.33 iBook for Leopard:

TFF Tiger Standard Test 1: 10 Test 2: 8 Score: 18
TFF Tiger Mine Test 1: 10 Test 2: 13 Score: 23
TFF Tiger UOC Test 1: 10 Test 2: 13 Score: 23
TFF Leopard Standard Test 1: 10 Test 2: 8 Score: 18
TFF Leopard Mine Test 1: 10 Test 2: 13 Score: 23
TFF Leopard UOC Test 1: 10 Test 2: 13 Score: 23

Yes, there is a difference between the standard TFF prefs and any tweaked ones - my own behave just the same as UOC prefs and score the same despite not having any WebGL options engaged.
UOC prefs are probably great for those who didn't know about the prefs file but for the rest of us who either tweaked their own or followed the ones by @eyoungren for the last 4 years, there is no difference.

However, I haven't tested on a multi G5 system, if any body cares to test standard, their own (or @eyoungren 's) and UOC prefs on one that might be interesting.

TFFmine.jpg
 
Last edited:
  • Like
Reactions: eyoungren

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
Well that explains a lot. This should be fixed. All these TFF based browsers popping up; are any of them being complied to not go ape-sh*t on the CPU?
No idea. If Iceweasel or Arctic Fox is available, do about:support in the address bar. That will show you everything.

@wicknix will probably be more helpful here than me.
 
Last edited:

z970mp

macrumors 68020
Original poster
Jun 2, 2017
2,328
1,889
zgxSystems
Yes, there is a difference between the standard TFF prefs and any tweaked ones - my own behave just the same as UOC prefs and score the same despite not having any WebGL options engaged.
UOC prefs are probably great for those who didn't know about the prefs file but for the rest of us who either tweaked their own or followed the ones by @eyoungren for the last 4 years, there is no difference.
Have you compared resource usage between the three?

WebGL, supported or not, is part of PowerUOC's local implementation, and if anything at all is only there for easier porting. That said, regardless of OS support, I still don't think TFF should be compiled with WebGL disabled.

I've been using eyoungren's always excellent prefs for the last two+ years on multiple machines on multiple platforms, and in all of my tests and experiences, I would most certainly not refer to the two carrying "no difference", even on non-G5 systems. For at least 70% of use cases, there is in fact a lot of difference, and that's because there's a lot more at play here with a lot more built inside (I'm willing to bet thanks to a lot more cumulative research) than anything else I'm aware of.

But that's just my take.
 
Last edited:
  • Like
Reactions: sparty411

Dronecatcher

macrumors 68040
Jun 17, 2014
3,278
2,788
Lincolnshire, UK
I would most certainly not refer to the two carrying "no difference", even on non-G5 systems.
You misunderstood - no difference between tweaked prefs and UOC prefs - both have a huge difference to the standard prefs.
So to be clear, you're saying the UOC prefs offer huge gains over either mine or @eyoungren 's prefs?
I've conducted my own site launching tests and done the webGL benchmarks above - where can I find a definitive example of the superiority?
 

sparty411

macrumors 6502
Nov 13, 2018
369
277
This is getting silly now. WebGL is not supported in Tiger and as far as I know, not supported in Mozilla on PPC Leopard.
Go to a benchmark site here and try it yourself.

These are the results I get on my 1.33 Powerbook for Tiger and 1.33 iBook for Leopard:

TFF Tiger Standard Test 1: 10 Test 2: 8 Score: 18
TFF Tiger Mine Test 1: 10 Test 2: 13 Score: 23
TFF Tiger UOC Test 1: 10 Test 2: 13 Score: 23
TFF Leopard Standard Test 1: 10 Test 2: 8 Score: 18
TFF Leopard Mine Test 1: 10 Test 2: 13 Score: 23
TFF Leopard UOC Test 1: 10 Test 2: 13 Score: 23

Yes, there is a difference between the standard TFF prefs and any tweaked ones - my own behave just the same as UOC prefs and score the same despite not having any WebGL options engaged.
UOC prefs are probably great for those who didn't know about the prefs file but for the rest of us who either tweaked their own or followed the ones by @eyoungren for the last 4 years, there is no difference.

However, I haven't tested on a multi G5 system, if any body cares to test standard, their own (or @eyoungren 's) and UOC prefs on one that might be interesting.

View attachment 877688
Nah, unsupported GPU's still function just fine with WebGL, irregardless of what about:support might say. Scrolling, alone, is enormously smoother with WebGL enabled, as opposed to leaving it turned off. I'm sure @z970mp and @looking4awayout can confirm this.
 
  • Like
Reactions: z970mp

sparty411

macrumors 6502
Nov 13, 2018
369
277
So why do benchmarks say different? What machine are you running on and are you talking the difference between standard prefs or eyoungren/tweaked prefs?
Benchmarks ≠ trends observed in real world use cases. I've tested the PowerUOC patch on an iBook G4 1.42 GHz, and a G5 2.3 GHz DC. I'm speaking relative to the tweaked prefs.
 
  • Like
Reactions: z970mp
Status
The first post in this thread is a WikiPost, and can be edited by anyone with the appropriate permissions.