The Broadband Guide
SG
search advanced

Internet Explorer, Chrome, Firefox Web Browser Tweaks

2005-10-04 (updated: 2015-04-03) by
Tags: , , , , ,

Below, you will find browser-specific settings to help speed up your browser, for Internet Explorer, Chrome and Firefox. The settings are generally intended for broadband internet connections, and can noticeably improve your web browsing experience.


General Principles

Before we get into more browser-specific tuning, it is worth mentioning there are a few general principles that apply to all web browsers, and can help speed up web page loading time and improve your internet browsing experience:

Remove unnecessary add-ons and extensions

Browsers often include a number of unnecessary/unused/distracting add-ons and toolbars that can considerably slow down the browser and increase its memory footprint. Many unrelated programs include optional browser add-ons in their setup that get installed by default, even with staple products like Java and Adobe Flash Player. It is always helpful to review currently installed add-ons/extensions/toolbars, and uninstall/disable all that are unnecessary. Below is a list of locations for the three major browsers:

Internet Explorer: Settings -> Manage add-ons menu
Chrome:  Settings -> More Tools -> Extensions  (or, in the address bar, navigate to:  chrome://extensions)
Firefox:  Settings -> Add-ons menu

Choose temporary internet files location and size

Using a second hard drive, or even RAM for storing temporary internet files can speed up seek time and page loading, especially for repeat visits to the same pages/site. It can also reduce disk writes and wear to your expensive SSD main drive. Choose something sensible for the size of this cache, under/about 100 Mb seems to work well. Below is a list of  the locations under each of the major browsers:

Internet Explorer: Settings -> Internet Options -> Settings button -> Disk Space to Use

Chrome: right-click on the Chrome icon, change the target field (just after ..chrome.exe) add: --disk-cache-dir="z:\ChromeCache" (where "Z:" is the desired drive, and "ChromeCache" is the folder name). By default, Chrome stores temporary files under C:\Users\AppData\Local\Google\Chrome\User Data\Default\Cache

Firefox:
- in the address bar, type: about:config
- right-click in the white space and choose "New -> String"
- for the name of the setting, type: browser.cache.disk.parent_directory
- for its value, type the full path of a directory to use for cache
- make sure that "browser.cache.disk.enable" is set to "true" for it to work.


Internet Explorer Tweaks

According to the HTTP specs, only a limited number of simultaneous connections to web servers are recommended, while loading web pages. With today's broadband connections, it is beneficial to increase the default number of concurrent connections to reduce page loading time. To increase the number of concurrent connections, add the following entries to the Windows Registry (the settings are not present by default in some Windows versions).

Under Windows 9x/ME/2k/XP

Navigate to Start > Run, type: regedit , find the following locations and add the DWORD values:

HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings
"MaxConnectionsPerServer"=dword:00000008
(not present by default, recommended: 8)
"MaxConnectionsPer1_0Server"=dword:00000008 (not present by default, recommended: 8)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
"MaxConnectionsPerServer"=dword:00000008
(not present by default, recommended: 8)
"MaxConnectionsPer1_0Server"=dword:00000008 (not present by default, recommended: 8)


Internet Explorer under Windows Vista/7/2008 Server, Windows 8/8.1

Click the Windows button, type: regedit, and navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\
FEATURE_MAXCONNECTIONSPER1_0SERVER\explorer.exe=10
 (DWORD, default: 4, recommended: 8 to 10, valid range: 2-128)
FEATURE_MAXCONNECTIONSPERSERVER\explorer.exe=10
 (DWORD, default: 2, recommended: 8 to 10, valid range: 2-128)

In addition to explorer.exe, you can also add a 32bit DWORD "iexplore.exe" (according to the MSDN documentation referenced below), and set it to the same corresponding value as "explorer.exe"
FEATURE_MAXCONNECTIONSPER1_0SERVER\iexplore.exe=10
 (DWORD, not present by default, recommended: 8 to 10, valid range: 2-128)
FEATURE_MAXCONNECTIONSPERSERVER\iexplore.exe=10
 (DWORD, not present by default, recommended: 8 to 10, valid range: 2-128)

When the iexplore.exe settings are not present in the Registry, the default max connections per server may vary, depending on the installed Internet Exlorer version, as follows:
IE versions before 8 --> 2 concurrent connections
IE8
and IE9 --> 6 concurrent connections
IE10
and IE11 --> 8 concurrent connections

Notes:
The Windows Registry only has the "explorer.exe" and not the "iexplore.exe" key by default (both Windows 7 and Windows 8/8.1).
Keep in mnd that setting those values may exceed the HTTP RFC specs. Increasing the number of concurrent connections much over 10 may cause problems with some websites not completely loading, or dropping/retransmitting some requests. If you experience problems, just reduce the numbers to a lower value, or return the settings to the Windows defaults.

The above parameters, and the web patch in the downloads section of the site work with Internet Explorer versions 4 and above.

Alternatively, to apply the above tweak for Windows 9x/XP/Me/2k, you can download a web patch (sguide_webtweak_2k) from the download section of the website.

While these entries improve web page loading considerably, there is some concern that increasing those parameters much higher over 10 tends to strain webservers more (by increasing bursts of concurrent requests from the same IP), but have no effect on average throughput.

References:
KB183110
- WinInet Limits IE connections per server
KB282402
- How to configure Internet Explorer to download more than two files at one time
MSDN
- Internet Feature Controls


Chrome

Google Chrome has a number of "experimental" features and tweakable parameters that can be accessed by navigating to: chrome://flags in the browser address bar. Please don't go wild with those, as many of them are really "experimental", and can break functionality. Still, there are a few settings that have been tested and make noticeable difference. In the Chrome address bar, navigate to:

chrome://flags/#max-tiles-for-interest-area (default is 128, recommended 256) - this defines the maximum amount of RAM (in Megabytes) that Chrome can consume. Increasing this to 256, or even 512 (if you have plenty of memory and live in your browser) will reserve more memory for Chrome, reduce stuttering when scrolling, slow-loading laggy pages, frame drops, etc. This setting also works well under Android, and seems to have the biggest improvement for page loading speed.


Firefox

Pipelining requests

This setting is equivalent to the IE tweak above. It allows for more simultaneous connections to web servers. Note that the HTTP specs suggest for 4 concurrent connections. Setting this value to 10 allows for more web page components being downloaded at the same time, noticeably improving browsing. To appy the tweak, follow the simple instructions below:

1. In the address bar, type:  about:config
2. Locate and change the following values (by double-clicking on them):
network.http.max-connections = 24 (default is 24)
network.http.max-connections-per-server = 10 (default is 8)
network.http.max-persistent-connections-per-proxy = 8  (default is 4)
network.http.max-persistent-connections-per-server = 4 (default is 2)
network.http.pipelining = true (default is false)
network.http.pipelining.maxrequests = 10 (default is 4)
network.http.proxy.pipelining  = true (default is false)

3. Optionally, you can also tweak the following settings:
content.notify.backoffcount  = 5
ui.submenuDelay = 0

Note: Setting the number of connections per server to a much higher number (over ~10) can cause web servers to drop some requests, resulting in incomplete pages, increased retransmissions, etc., so it is not recommended.


Reduce Initial Page Delay

By default, Firefox waits 0.25 seconds (250ms) before beginning to draw web pages. To reduce this initial delay, do the following:

- In the browser address bar, type: about:config
- Anywhere in the browser window, right-click and create: NEW > String
- Name the string:  nglayout.initialpaint.delay  (no spaces) and set its value to an integer between 0 and 50 (something sensible, in milliseconds).

Note: This setting is not present by default. When not present, Firefox waits 250 milliseconds before first displaying the page.


Use memory cache

Firefox has the ability to write cached files to RAM instead of the hard disk. This is much faster, and reduces hard disk drive wear. It is especially useful to reduce drive wear if using SSD drives.

To change the cache location to RAM:

- open Firefox
- type about:config in the address bar, Enter
- double-click browser.cache.disk.enable to set the value to False
- right-click anywhere  and create "New" "Integer" values with the preference name "disk.cache.memory.capacity"
- set value to memory size in KB. Enter 32768 for 32MB, 65536 for 64MB, depending on your RAM size.
- also add  another setting named "browser.cache.memory.capacity" and set to the same number.
- restart Firefox


Advanced Firefox Settings

Below, you will find settings that may increase your perceived page loading time a bit further. Note that those are most likely best left at the default values. These settings generally do no exist under the Firefox about:config, and need to be created if you'd like to experiment with them.

content.interrupt.parsing - default/recommended is true. When true, parsing can be interrupted to process UI events.
content.max.tokenizing.time
recommended value ~ 2250000. Defines maximum number of microseconds between reflows.
content.notify.interval
- recommended value ~ 750000
content.notify.ontimer
- recommended set to true. If so, doesn't reflow pages more often than the content.notify.interva timer.
content.switch.threshold
- raising the value will make the browser more responsive at the expense of page load time.
browser.cache.memory.capacity
- memory, in KB reserved for caching decoded images. Default varies with RAM


References:
See this link for all Firefox about:config entries with descriptions and defaults.

  User Reviews/Comments:
    rate:
   avg:
by anonymous - 2007-11-08 21:04
i did the fire fox twks great faster way faster
by RARE NUMERO UNO - 2007-11-18 16:31
THE FIREFOX TWEEKS ARE WONDERFUL
by Cyberhunk - 2008-04-27 22:47
coolness!!! the best!!
by bmac50 - 2008-06-06 14:52
WOW, major difference.
by anonymous - 2008-06-15 17:30
does it work with FF 3 ??
by mate_1146 - 2008-06-24 20:53
Excellent tweaks, they even work with Firefox 3.0
by anonymous - 2008-10-08 16:23
I tried the FireFox tweaks on my MAC OS X powered iBook G4 and they worked great.

I still wish there was a tweak page for Safari on OS X.
by lock152002 - 2008-10-11 04:58
Wonderful tweaks ..pages load very very fast now..
i always used a few of those tweaks in the past but ..added the new ones a got here and firefox flies
by Lurch - 2008-11-23 19:35
The Firefox tweaks are well worth applying! I saw immediate results.
by cey61 - 2009-01-05 01:33
I use Firefox all the time. These tweaks definitely sped up my browser. I set the interval & threshold @ 500,000 and the tokenizing time at the suggested 3 times that or 1,500,000. Great tweaks, thanks a lot!
by anonymous - 2009-02-06 19:17
nglayout.initialpaint.delay is string?
by Philip - 2009-02-07 10:25
Yes, nglayout.initialpaint.delay is a string, denotng the number of milliseconds to wait before first displaying the page. The default, when not present is 250 milliseconds delay.
by jd46201 - 2009-03-11 15:00
These are amazing! Instant results The difference is incredible!
by Rich - 2009-03-23 23:22
When setting nglayout.initialpaint.delay you are setting an integer
not a string.
by anonymous - 2009-04-06 09:56
The tweak works prefectly fine, even with the new version of firefox 3.0.8
by Wizz - 2009-04-16 12:43
I've just applied the settings to Firefox 3.1 beta3

It seems to be working great, Thanks.

However:-
the first 4 settings are now higher by default (30,15,8,6) than what you are recommending, I have obviously left the higher default settings for these numbers but I have made all the changes from the Pipeline down.

Thanks.
by Philip - 2009-04-18 14:54
It's interesting that Firefox has moved to 15 max connections per server, the RFC recommends no more than 4. It's no doubt faster to complete pages with 15 concurrent requests, just a bit taxing on servers.
by anonymous - 2009-06-13 22:43
Thanks! Fantastic improvement with FF v3.0.11!

Although FF now uses 15 max connections as mentioned, I reverted it to 10. FF default of 15 slowed me down considerably and yes, taxed the server I'm sure. Now flying along thanks to these tweaks and SG TCPIP Optimizer and Analyzer.

Appreciate the help here very much!
by HotGuy16 - 2009-07-03 05:28
dude you did an excellent job... nice one... i really tahnk you for sharing this incredible knowledge... wwwoooowwww... now i have a very efficient internet surfing... i won't have any trouble waiting for the webpage to show up...

thankz again smartee... you're such a winner...
by anonymous - 2009-07-06 04:38
fire fox tweak made it bout 3x faster gr8 wrk
by cliff.rigg - 2009-07-15 09:34
Thanks.....
by anonymous - 2009-08-01 06:00
any tweaks for Chrome out there?

Thanks
by anonymous - 2009-08-20 02:38
YOUR MOZZILA TWEAK TOTALLY ROCKZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
by glnz - 2009-09-20 01:43
Today, Sept. 20, 2009, in Firefox 3.5.3, I did NOT find
content.notify.backoffcount
or
ui.submenuDelay

Did I miss something?

I also saw that my defaults were already at 30, 15, 8, 6, but I changed them to 24, 10, 8 (no change), 4. What do you all think about the higher defaults? Should I change back?
by hurnu - 2009-10-22 11:52
I agree with glnz, my default values are the same. Which ones should I use?
News Glossary of Terms FAQs Polls Cool Links SpeedGuide Teams SG Premium Services SG Gear Store
Registry Tweaks Broadband Tools Downloads/Patches Broadband Hardware SG Ports Database Security Default Passwords User Stories
Broadband Routers Wireless Firewalls / VPNs Software Hardware User Reviews
Broadband Security Editorials General User Articles Quick Reference
Broadband Forums General Discussions
Advertising Awards Link to us Server Statistics Helping SG About