Better TBB about:config settings(?); re: browsing and loading speed, etc.
Hello,
I have been testing the following !about:config settings (specific to Firefox 6) for a couple of weeks. I have used very similar settings for TBB since Firefox v3.x.x. These settings do seem to (very noticeably) speed up browsing, maybe some of these can be migrated into official TBB releases?
The only setting I think may do well with a bit of tweaking is nglayout.initialpaint.delay, I doubled the Firefox defualt of 250 ms. Doing so seems to (noticeably) increase total page load time, while (unnoticeably) reducing time to first load on page.
I tried to test these settings in TBB vs. vanilla TBB but I don't know how to configure Tor to use the same circuit for all speed tests.
Relevant links:
- How To Speed Up Firefox 6 Tweaking Guide
- Hacking Firefox for Maximum Performance with Tor (some settings are outdated and some settings are missing)
user.js (placed in ...\Tor Browser\FirefoxPortable\Data\Profile)
// Spell check works with all fields user_pref("layout.spellcheckDefault", 2);
// default is 250 ms, longer wait time means faster total page load time, but slower initial page loading. user_pref("nglayout.initialpaint.delay", 500);
// Stops the display of placeholders while images are loading to speed up the page. Default is True user_pref("browser.display.show_image_placeholders", false);
// Sets the maximum number of times the content will do timer-based reflows to 5. After this, the page will only reflow once it is finished downloading. This is a new value. Default is -1 (no limit) user_pref("content.notify.backoffcount", 5);
// Sets the minimum amount of time to wait between periodic reflowing of the page to 0.12 seconds – stops Firefox becoming slow by reflowing too frequently. This is a new value. Default is 120000 user_pref("content.notify.interval", 120000);
// Sets the maximum amount of time Firefox will be unresponsive while rendering pages – set to 3 times the content.notify.interval above. This is a new value. Default is 360000 user_pref("content.max.tokenizing.time", 360000);
// Ensures Firefox does not reflow pages at an interval any higher than that specified by content.notify.interval above. This is a new value. Default is True user_pref("content.notify.ontimer", true);
// Sets Firefox to interrupt parsing a page to respond to UI (user interface) events to prevent it becoming unresponsive until parsing is complete. This is a new value. Default is True user_pref("content.interrupt.parsing", true);
// Sets the number of microseconds of inactivity that puts Firefox into low frequency interrupt mode. This is a new value. Default is 750000 user_pref("content.switch.threshold", 750000);
// Disables IPv6 DNS lookups to prevent a significant delay with poorly configured IPv6 servers. user_pref("network.dns.disableIPv6", true);
// This preference takes values between 1 and 255 inclusive, directly corresponding to the maximum number of HTTP keep-alive connections the application can have open at once to the proxy server. Default is 8. user_pref("network.http.max-persistent-connections-per-proxy", 16);
// Increases the maximum number of persistent connections per server which can help speed up loading of multimedia rich sites. This settings must be equal to, or greater than, "Network.http.max-persistent-connections-per-proxy". Default is 15. user_pref("network.http.max-connections-per-server", 16);
// Amount of time in seconds to keep keep-alive connections alive. Default is 115 seconds. user_pref("network.http.keep-alive.timeout", 600);
// [! Not needed: TorBrowser already has correct configuration] Use keep-alive connections whenever possible. //user_pref("network.http.proxy.keep-alive", true);
// [! Not needed: TorBrowser already has correct configuration] Stops Firefox automatically prefetching (loading) the contents of pages linked to by the page you are viewing – in most cases you will never visit those links so this time is wasted and it is a security risk because you are unwittingly downloading (possible virus/adult) content only linked to by the current page but which you have not chosen to load. Default is True. //user_pref("network.prefetch-next", false);
// [! Not needed: TorBrowser already has correct configuration] Can send multiple requests to a server together in order to speed up loading of webpages. This is not supported by ALL servers – some servers may even behave incorrectly if they receive pipelined requests. Default is False //user_pref("network.http.pipelining", true);
// [! Not needed: TorBrowser already has correct configuration] Can send multiple requests to a server together in order to speed up loading of webpages. This is not supported by ALL servers – some servers may even behave incorrectly if they receive pipelined requests. Default is False //user_pref("network.http.pipelining.ssl", true);
// [! Not needed: TorBrowser already has correct configuration] Can send multiple requests to a server together in order to speed up loading of webpages. This is not supported by ALL servers – some servers may even behave incorrectly if they receive pipelined requests. Default is False //user_pref("network.http.proxy.pipelining", true);
// [! Not needed: TorBrowser already has correct configuration] Sets a maximum number of multiple requests that can be pipelined to prevent overloading the server. Higher values will cause a delay before the first request completes but will make the last request complete sooner. Higher values will also cause more of a delay if a connection fails. Default is 4. //user_pref("network.http.pipelining.maxrequests", 10);
Trac:
Username: joyton