My TenFourFox Tweaks Thread

Discussion in 'PowerPC Macs' started by eyoungren, May 13, 2012.

  1. eyoungren, May 13, 2012
    Last edited: Dec 17, 2016

    eyoungren macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #1
    THE FOLLOWING SHOULD ONLY BE REGARDED AS HISTORICAL INFORMATION AND NOT TREATED AS AUTHORITATIVE.

    See here for the currently maintained thread on tweaking T4Fx.

    <------------------BELOW THIS LINE/OLD INFO ONLY--------------------->​

    Per request, here are the tweaks I have applied to my copy of TenFourFox via about:config

    This is a work in progress. As I find (refind?) pertinent information I will fill in the gaps and exand any explanations or definitions. Feel free to comment if you have anything to add or comment on.

    *Please note that this is not exhaustive. It's only what I have found by extensive Googling of the phrases "firefox high cpu", "firefox high memory usage", "firefox slow", "firefox memory", "firefox cache" or "firefox optimization". Your mileage may vary and any or all of these may not work for you. I'm not responsible for any damage or problems you may have by applying these tweaks. All I can say is they work for me.

    **Further note. This post/thread assumes that you know how to create a key and value based on what you see below. Some of the keys and values are not present on a default install of TFF/FF so you will need to create them. If you do not know what you are doing with the about:config file, either learn about it first or don't make any of these changes.

    ***Finally note that some changes I have made are specific to my setup. I don't use caching at all because I'm using TOR and Private Browsing. I don't want tracks to be made.

    I might suggest making a copy of your profile folder before making any modifications. You can always copy it back if you perceive things to be screwed up. TFF, like Firefox makes no backups of settings so once applied you have to recall what you did to set it back. It's easier just to copy back your profile folder if you've made a lot of changes.

    Key, Value

    Extensions.checkCompatibility, false
    Allows you to turn off any compatibility checking for when you install extensions. Useful when you want to install an extension you know works but the program refuses to install.

    Key, Value
    browser.cache.check_doc_frequency, 1
    This checks how often TFF looks to see if the cache for a page is outdated. 0 is never, 1 is automatically.

    Key, Value
    browser.cache.disk.capacity, 16384
    This is my disk cache size. 16384 = 1GB

    Key, Value
    browser.cache.disk.enable, false
    I have this set to not cache to disk. True will enable disk caching.

    Key, Value
    browser.cache.disk.max_entry_size, 4096
    For me this is set at 4MB, meaning the disk cache can only write cache files of 4MB any time it writes. I have disk caching disabled so this has no meaning right now.

    Key, Value
    browser.cache.disk.parent_directory, /Users/eyoungren/Library/Caches/TF4Fx_Cache
    I chose to tell TFF where I want it to have the cache when I use disk caching.

    Key, Value
    browser.cache.disk_cache_ssl, false
    Disk caching of HTTPS pages is disabled.

    Key, Value
    browser.cache.memory.capacity, 18432
    The value of the memory cache (how much physical ram you give TFF). This is in kilobytes I think, but I'm not sure.

    Key, Value
    browser.cache.memory.enable, false
    I have the memory cache disabled.

    Key, Value
    browser.cache.memory.max_entry_size, 4096
    This is set the same as with the max entry size for disk caching. 4MB.

    Key, Value
    browser.cache.offline.capacity, 747520
    Offline capacity of the browser cache. In kilobytes I think.

    Key, Value
    browser.cache.offline.enable, false
    I have the offline cache disabled as well.

    -- In other words, I have completely disabled all caching.

    Key, Value
    browser.history_expire_days_min, 1
    My browser history expires every day. I don't really use history since if I want to go back to it I will bookmark it. Keeping all that history just slows things down.

    Key, Value
    browser.sessionhistory.max_entries, 2
    This setting determines how many pages back the browser remembers. When you click the back button the browser references these pages. I have it set to two. Storing more requires more memory, slowing the browser down.

    Key, Value
    browser.sessionhistory.max_total_viewers, 0
    Your session history. I have it set so TFF never remembers session history, which takes ram. I have TabMixPlus which does this for me.

    Key, Value
    browser.sessionstore.max_concurrent_tabs, 0
    The session history TFF remembers for each open tab. Again, I set it to off so TFF never remembers.

    Key, Value

    browser.tabs.animate", false
    Animation = increased CPU load. I have this set to off.

    Key, Value

    browser.turbo.enabled, true
    Old setting, supposedly removed with FF 1.1. Conflicting reports on whether it works or not.

    Key, Value


    config.trim_on_minimize, true
    This is actually a Windows only setting. It returns ram when a window is minimized. I just included it on the off chance it does anything on my system.

    Key, Value



    content.interrupt.parsing, true
    Determines if page loading is interrupted to responde to user input.

    Key, Value



    content.max.tokenizing.time, 2250000
    Maximum amount of time TFF will be unresponsive when rendering pages. content.notify.ontimer and content.interrupt.parsing must be set to true for this preference to take effect. Lowering the interval will make the application more responsive at the expense of page load time. A multiple of the value of content.notify.interval is recommended.

    Key, Value



    content.notify.backoffcount, 5
    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 reflowing the page every time additional data is received greatly slows down total page load time, a timer was added so that the page would not reflow too often. This preference controls the maximum number of times the content will do timer-based reflows. After this number has been reached, the page will only reflow once it is finished downloading. Note, -1 means unlimited and 0 means none. You can set it to any number. I don't suggest 0 as that means the page will not reflow at all and will only show when completely loaded.

    Key, Value



    content.notify.interval, 750000
    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 reflowing the page every time additional data is received greatly slows down total page load time, a timer was added so that the page would not reflow too often. This preference specfies the minimum amount of time to wait between reflows.content.notify.ontimer must be set to true for this preference to take effect
    This preference affects the default value of content.max.tokenizing.time.
    Lowering the interval will lower the perceived page loading time but increase the total loading time, especially on slower connections. Values below 100,000 have a significant impact on performance and are not recommended.


    Key, Value



    content.notify.ontimer, true
    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 reflowing the page every time additional data is received greatly slows down total page load time, a timer was added so that the page would not reflow too often. This preference specfies whether that timer is active.

    Key, Value



    content.switch.threshold, 750000
    The user can interact with a loading page when content.interrupt.parsing is set to true. When a page is loading, the application has two modes: a high frequency interrupt mode and a low frequency interrupt mode. The high frequency interrupt mode interrupts the parser more frequently to allow for greater UI responsiveness during page load. The low frequency interrupt mode interrupts the parser less frequently to allow for quicker page load. The application enters high frequency interrupt mode when the user moves the mouse or types on the keyboard and switches back to low frequency mode when the user has had no activity for a certain amount of time. This preference controls that amount of time.
    content.notify.ontimer and content.interrupt.parsing must be set to true for this preference to take effect.
    Raising the value will make the application more responsive at the expense of page load time.

    -- The following settings are specific to Flash. Apparently these were settings for FF version 3 beta and below. They were removed with version 3. They will make Flash run smoother and take less CPU load. BUT! The risk of using them is that when or if FF/TFF encounters a problem the app will crash. Creating these keys will make FF/TFF more prone to crashing. Note that I have all of them set to false. That's because I have disabled all plugins for security purposes. But if you aren't worried/don't need security then just enter the keys and the value of TRUE.

    Key, Value



    dom.ipc.plugins.enabled.i386.flash player.plugin, false
    dom.ipc.plugins.enabled.libflashplayer.so, false
    dom.ipc.plugins.enabled.libnptest.so, false
    dom.ipc.plugins.enabled.npctrl.dll, false
    dom.ipc.plugins.enabled.npqtplugin.dll, false
    dom.ipc.plugins.enabled.npswf32.dll, false
    dom.ipc.plugins.enabled.nptest.dll, false
    dom.ipc.plugins.enabled.x86_64, false

    Key, Value



    dom.max_script_run_time, 0
    "Javascript that executes for whole seconds is probably doing something wrong...” says Brendan Eich, creator of JavaScript. When a script is executing, Mozilla's UI will be unresponsive until the script’s thread ends. Correspondingly, Mozilla will alert you when a script is taking a long time to run and let you stop the script. This preference lets you define what “a long time” is.
    The value is a positive integer, determining the number of seconds of execution before warning. 0 and negative values are considered "forever."

    Key, Value



    dom.storage.enabled, false
    I don't want my plugins using any hard drive space.

    Key, Value



    javascript.options.jit.chrome, true
    javascript.options.jit.content, true
    These are TFF specific keys and allow you to turn on the JIT processor that TFF uses for Javascript

    Key, Value



    javascript.options.mem.gc_frequency, 5
    This is the time in seconds that Javascript does garbage collection. Garbage collection of course releases ram back to the system.

    Key, Value



    javascript.options.mem.max, 50000
    Unsure, but I believe this is the amount of memory in kilibytes alloted to Javascript.

    Key, Value
    javascript.options.typeinference, false
    Whether type inference (a new feature of later versions of FF) is on or not. Enabling it will give you a speed hit and make the browser unstable.

    --The following key/values are where the real speed tweaks come in to play.

    Key, Value
    network.dns.disableIPv6, true
    If you aren't using IPv6, turn it off to save ram.

    network.dns.disablePrefetch, true
    Prefetching pages draws ram

    network.dnsCacheEntries, 512
    I am only caching 512 DNS entries. These are lookups for the pages you are browsing/have browsed. Having them cached speeds up page loading because the browser is not seeking domain name resolution every time it tries to find a page. Too many though takes up more ram.

    network.dnsCacheExpiration, 3600
    Amount of time that your cached DNS entries stay cached. In miliseconds.

    network.http.keep-alive.timeout, 20
    The amount of time (in seconds) before your page keep alive times out.

    network.http.max-connections, 1000
    The maximum amount of connections allowed. Period.

    network.http.max-connections-per-server, 100
    The maximum number of connections to any given server. Keep in mind, THIS IS PER TAB! So, if you have a max of 100 connections and have ten tabs open you have hit your max connections!

    network.http.max-persistent-connections-per-proxy, 100
    The number of connections kept alive when using a proxy.

    network.http.max-persistent-connections-per-server, 25
    The number of connections kept alive per server (per tab!)

    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.firstrequest, true

    Enable pipelining on the first server request.


    network.http.pipelining.maxrequests, 8
    Maximum number of pipelining server requests. More than 8 are generally ignored and decrease performance.


    network.http.pipelining.ssl, true
    Pipelining enabled on HTTPS.


    network.http.proxy.pipelining, true
    Pipelining enabled when using a proxy.


    network.http.use-cache, false
    When a page is loaded, it can be cached so it doesn't need to be downloaded to be redisplayed. I have caching completely disabled so this setting reflects that.


    network.prefetch-next, false
    If a page has links this setting determines if those links are prefetched. Remember, prefetching takes ram.

    network.websocket.enabled, false
    I have websockets disabled. This is a security issue with TOR. If this is enabled and you use a websocket FF/TFF will use local DNS inquiries instead of using TOR if you make more than one websocket connection and therefore reveal your real IP address. This was a recent bug discovered in the TOR browser. Since I am using Torbutton and Vidalia, I have changed this setting in TFF.


    network.websocket.max-connections, 1)
    The max websocket connections. I have it set at 1, but because of the previous setting it doesn't really matter. I made it one just so that if for any reason there IS a websocket connection I am only making one connection.


    nglayout.initialpaint.delay, 0

    The amount in seconds before TFF begans to display the page it is loading. The default is a much higher amount to allow for a total page load before displaying the page. That results in an appearance of a longer load time. I have it set to 0 because I want TFF to start displaying content the moment it loads it.

    Key, Value
    places.history.enabled, false
    This is for live bookmarks. Live bookmarks being active sucks ram and CPU. I have it disabled.

    Extensions

    Some extensions I use that you may wish to look at. BetterCache, SafeCache, NoScript, RequestPolicy, AdBlockPlus and Ghostery. Beyond security issues some of the ones I name benefit you because content is not loaded until you say it is. That can speed up page loading.

    That's about it.
     
  2. eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
  3. Whargoul macrumors member

    Joined:
    Apr 27, 2012
    Location:
    Denver
    #3
    The only one that matters is tenfourfox.plugins.enabled ; true
     
  4. eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #4
    Well, I had another user ask what tweaks I had made when I mentioned it in another thread. Rather than post all this in that thread (which would have been off-topic to the original question) I just placed it here.

    I have the plugins disabled. Just security is all. I've got several other browsers where it's enabled that I'm not using TOR with so I use those when I need Java or Flash or whatever. But the rest of what I have done has improved things for me in TFF.
     
  5. Whargoul macrumors member

    Joined:
    Apr 27, 2012
    Location:
    Denver
  6. eyoungren, May 13, 2012
    Last edited: May 13, 2012

    eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #6
    Perhaps not as much. I'd rather play it safe.

    As explained here, the payload of the recent issue affecting Intel Macs only failed on PowerPC Macs because it was written for Intel. But the actual attack succeeded (even though the payload failed) because it was delivered via Java, which PowerPC Macs still use.

    Further, I'd rather not have my real IP address out there if there is any chance enabled plugins can expose it. Maybe I'm overcautious, but I don't NEED the plugins, so I'm not missing them at all.
     
  7. Whargoul macrumors member

    Joined:
    Apr 27, 2012
    Location:
    Denver
    #7
    Sorry, fear mongering does not work with me. The number of infected computers was extremely small.

    14,000,000 intel macs have been sold and only 600k were running it. Thats a 1:23 risk, for a low-threat non-damaging trojan you get only by viewing pornography websites, thats no risk at all to normal people.

    Then you'd better stop using the internet at all. Every site you visit has access to your IP address, even this forum logs your IP with every post you make. On top of that, your IP is useless information. Mine is 107.2.244.126, you know why? I don't care if anyone knows.

    And to show I'm not full of chit.....
     

    Attached Files:

  8. eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #8
    That's not what I'm doing. I was asked to post the tweaks I made to TFF and I did that. My later comment on disabling plugins for security purposes was based on my personal opinion and the link I provided was to a post written by Cameron Kaiser, the creator of TFF.

    I am simply providing information and stating what I am doing with it.

    I'm the opposite. I do care, and yes, I know I am being logged everywhere I go. By my ISP, this site and every site I visit on the internet. That is why I made the personal decision to use TOR. So that the IP address that is being logged is not my personal IP. It changes every ten minutes.

    Here is my IP address. Well, ten minutes ago anyway.
     

    Attached Files:

    • cap.jpg
      cap.jpg
      File size:
      429.4 KB
      Views:
      111
  9. vohdoun macrumors 65816

    vohdoun

    Joined:
    Jan 23, 2006
    Location:
    Far away from Earth.
    #9
    I wouldn't run Ghostery alongside NoScript. I'm not implying you specifically. Ghostery more or less does the same as NoScript. Or I may be getting confused with NoScript and the Javascript Safari extension. It's a shame Ghostery is such a resource hog on Safari. Some Google image searches can beach ball it, a lot. Interfacelift.com also beach-balls it due to all the social media buttons, even though they're allowed. Yes I know yours is related to TenFourFox, just a shame some of the extensions are becoming terrible on the old Safari.
     
  10. skinniezinho macrumors 6502a

    Joined:
    Jan 1, 2009
    Location:
    Portugal
    #10
    Thanks a lot for this thread!
    I asked for it, soon I'll put it on the faq too =)
     
  11. vohdoun macrumors 65816

    vohdoun

    Joined:
    Jan 23, 2006
    Location:
    Far away from Earth.
    #11
    eyoungren, I'm gutted how poor Safari 5.0.6 does in the html5 benchmark compared to TenFourFox 12.

    http://peacekeeper.futuremark.com/

    Safari ended up second last and TenFourFox obliterated everything on the table.
     
  12. eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #12
    Yeah, TFF is fast. I just like to tweak as much out of it as I can. I have to assume that a large part of any slowness I may have in running TFF on my main laptop has to do with the failed external cache this Mac has. So any additional speed I can get out of TFF I take. I also did not have 2GB on this machine until a few months ago.

    Safari has always sucked for me. I've never had the experience everyone else gets with it. I do use it, but usually it's when I visit a site I know prefers Safari. But TFF has had it's issues too. I went back to TFF 5 for a time when TFF 8 & 9 were out because whatever Cameron Kaiser and his contributors did it just slowed it down. TFF 10 fixed things it seems (for me anyway) and it's been fine since then. Right now, I am writing this using TFF12. Waiting for 13 to come out.
     
  13. stroked Suspended

    stroked

    Joined:
    May 3, 2010
    #13
    Is there a way to turn off auto reloading, when viewing a web site?
     
  14. eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #14
    accessibility.blockautorefresh, true

    This is the equivalent of going to Preferences -> Advanced and in the General tab, checking the box “Warn me when web sites try to redirect or reload the page."
     
  15. eyoungren, Dec 17, 2016
    Last edited: Dec 17, 2016

    eyoungren thread starter macrumors P6

    eyoungren

    Joined:
    Aug 31, 2011
    Location:
    Phoenix • 85037
    #15
    My apologies for necroing this thread, but I am resurrecting it in case anyone is doing a Google search…

    This thread was my first attempt at providing my tweak optimizations for T4Fx. It's also four years old so a lot of things have changed. Please regard it only as historical info and not as authoritative.

    Also, for the record, I haven't used Tor in quite some time. It became too much of a hassle, although it's certainly still doable on PowerPC Macs.

    Go here for a more updated version of my tweaks.
     

Share This Page