//This file last modified on 10:18 AM 4/10/2005 by techlifeblogged[at]gmail.com
//This is basically everything laszlo had in his original post and atmodified as I read through
//the forum
//http://forums.mozillazine.org/viewtopic.php?t=53650&postdays=0&postorder=asc&postsperpage=15&start=0

//All of this goes in a text file called user.js in your profile folder
//the location of your profile folder depends on your operating system
//Go here to find out where yours is http://www.mozilla.org/support/firefox/edit#profile
//And http://www.mozilla.org/support/firefox/edit#user

//!!IMPORTANT!! Some of this needs to be optomized to the speed of your connection!
//Scroll down near the bottom of the page to the special section you need to modify.

//Everyone can benefit from these settings
user_pref("general.smoothScroll", true);
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("config.trim_on_minimize", false); //Load quicker from a minimized state
user_pref("content.notify.ontimer", true);
user_pref("content.notify.backoffcount", 5);
user_pref("content.interrupt.parsing", true);
user_pref("content.maxtextrun", 8191); 
user_pref("plugin.expose_full_path", true); // Show full path to plugins in about:plugins
user_pref("ui.submenuDelay", 0); //Speeds up submenus like Bookmarks
user_pref("browser.xul.error_pages.enabled", true); // Instead of annoying error dialog messages, display pages
user_pref("browser.cache.memory.capacity", 16000); // Prevent memory leak
user_pref("browser.display.show_image_placeholders", false); //To have images load like IE

//for general network performance
user_pref("network.dnsCacheExpiration", 360); // 6 minutes
user_pref("network.dnsCacheEntries", 100);
user_pref("network.dns.disableIPv6", true);
user_pref("network.ftp.idleConnectionTimeout", 60); // 1 minute
user_pref("network.http.keep-alive.timeout", 30);
user_pref("network.http.request.max-start-delay", 5);
user_pref("network.http.connect.timeout", 30);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 8);
user_pref("network.http.max-persistent-connections-per-server", 4);

//switch to enable caching of objects served over a secure connection
//WARNING: Setting this to true could be a potential security issue because SSL pages can contain personal information
//that you might not want floating around on your PC.
user_pref("browser.cache.disk_cache_ssl", false);

// Let remote content link to local (file://) content. This is needed for intranets.
// http://bugzilla.mozilla.org/show_bug.cgi?id=84128#c20
user_pref("security.checkloaduri", false);

//This could be a potential security risk if set to true. See thread http://forums.mozillazine.org/viewtopic.php?t=53650&postdays=0&postorder=asc&postsperpage=15&start=75
user_pref("signed.applets.codebase_principal_support", false);

//==========================================================================================================
//---Begin Special Section based on what type of computer and connection speed you have---
//Change nglayout.initialpaint.delay based on how fast your connection is.
//Higher for slow connections lower for fast. 
//recalculate the rest of the settings as commented after each line.
user_pref("nglayout.initialpaint.delay", 750); //Try 100 for fast, 750 for dial-up. 
user_pref("content.notify.interval", 750000); //1000 * nglayout.initialpaint.delay (don't go below 100000)
user_pref("content.switch.threshold", 750000); //1000 * nglayout.initialpaint.delay
user_pref("content.max.tokenizing.time", 2250000); //3 * content.notify.interval
//---End Special Section based on what type of computer and connection speed you have---
//==========================================================================================================

// From Laszlo: If these settings don't give you an improvement, 
// you could play with the "content." and ".initialpaint.delay" 
// settings. As said above, I got the best results by keeping them 
// in synch as in the given example (750000 and 750) while setting 
// "max.tokenizing.time" to a multiple of "switch.threshold" 
// (greater 3; with the values of the above example: 
//  3 * 750000 = 2250000, 4 * 750000 = 3000000, ...). 