This article reviews the steps you can take if Firefox is running
slow or misbehaving. Firefox 17.0.1 has just been released – I already
discussed the
new features which contained many technical improvements but there is still more you can do to speed it up or resolve problems.
These initial steps are a basic requirement to keep Firefox running
smoothly and safely – there is little point trying to improve
performance if you are using outdated and insecure components…
1.
Update Firefox – if you’re not running the latest version
you are more at risk from unfixed vulnerabilities and will not benefit
from the latest technical improvements:
- Select Firefox (or Help from the menu bar) then ‘About Firefox’ and
press the ‘Check For Updates’ button. Apply updates if available then
retry – the Check message should confirm ‘Firefox is up to date’.
2.
Remove extensions you do not need – the more extensions you have enabled, the slower and less stable Firefox may become:
- Select Firefox (or Tools from the menu bar) then Add-ons to open the
Add-ons Manager. Click on Extensions and, if you no longer need an
extension, Remove it – if in doubt, at least Disable it. Be ruthless –
less is definitely more here…
3.
Update extensions – the easiest way to always keep
extensions up to date is to open the Add-ons Manager and click the Tools
‘cog’ at the top then select (tick) ‘Update Add-ons Automatically’.
- To perform a manual update, click the Tools ‘cog’ then select ‘Check for Updates’ and apply any that are found.
4.
Disable plugins you do not need – as with extensions, the more plugins you have enabled, the more problems Firefox may encounter:
- Open the Add-ons Manager. Click on Plugins and, if you do not need a
plugin, disable it. If you disable a specific plugin and ever do visit a
site that needs it, just re-enable it.
[The
only plugins enabled on my system are Shockwave Flash
and Silverlight for streaming videos. Amongst my disabled plugins are
Microsoft DRM x 2, Quicktime, VLC, Windows Media Player and Google
Update - none of which I have ever needed].
5.
Update plugins – plugins from third parties such as Adobe
and Oracle are often targeted by malicious websites so it is important
to keep them up to date (and new versions often include performance
benefits):
- Follow my guide to update them – it also warns against the possible error when checking the status of a Java plugin.
Now that you have Firefox, extensions and plugins optimized and up to date, progress to the next section.
Backing Up
The next section tweaks Firefox configuration by changing or adding preferences in
about:config. You should make a note of the ‘before’ and ‘after’ values of each tweak and (
highly recommended)
backup the Firefox preferences file that contains all these options first – in case you want to revert back to your original settings:
The configuration file is called
prefs.js and is located in the system partition (usually C:\ drive):
In Windows XP \Documents and Settings\<username>\Application Data\Mozilla\Firefox\Profiles\<profile ID>.default\
In Vista and Windows 7 \Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile ID>.default\
You may need to show hidden files to view the folder. Close Firefox
first and then copy the prefs.js file to another location on your hard
drive for backup
.
Tweaking Firefox
Open Firefox and type
about:config in the address bar then press
Enter. Click the “I’ll be careful I Promise” warning button to reveal a long list of preferences.
To
change a preference – if it is an integer (number) or a
string (text), double click on the preference name and you will be
prompted for the new value. If it is a Boolean (true or false) value,
double click the entry to switch from true to false or vice versa.
To
add a preference (if the preference name is not already
listed in your about:config page) right click on an empty space in the
about:config window and choose New followed by String, Integer or
Boolean depending whether the value of the preference is text (String), a
number (Integer) or true/false (Boolean)
Tip: The quickest way to find
the right preference is to type part of the preference name into the
Filter bar at the top of the config page – this automatically reduces
the list to show only those preferences that include the text you typed.
Change or add the following preferences to the new values shown. If
the preference is already set to this value then skip it and move on the
next.
If the preference does not exist then you need to add it:
browser.display.show_image_placeholders: false
Stops the display of placeholders while images are loading to speed up the page. Default is True
browser.tabs.animate: false
Disables all tab animation features (e.g.
when you click the ‘New Tab’ (+) button) to make the tab interface feel
quicker. Default is True
network.prefetch-next: true
This setting can automatically prefetch (load) the contents of pages linked to by the page you are viewing e.g. to load the homepage in the background, making it quicker for you to view next if you want to.
To take advantage of increased speed when browsing websites which use prefetch, keep this setting at the Default which is True.
[Some view prefetch as a possible
security risk and disable it. My current view is that it isn’t a major
concern – if a site is bad, it will just load bad stuff on the current
page anyway without needing to prefetch it from elsewhere]
network.http.max-persistent-connections-per-server: 8
Increases the maximum number of
persistent connections per server which can help speed up loading of
multimedia rich sites. Default is 6
network.http.pipelining: true
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
Optional: if you want
Google searches in the address bar
to search by name and go straight to the right website (e.g. ‘New York
Times’ would go straight to the nytimes.com website) rather than just
perform a standard Google search, change the value of the keyword.url
preference as shown below below:
keyword.url: https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
(Note: this is for google.com – you may
want to change it to your own country version e.g. for UK just replace
the google.com bit with google.co.uk)
Now close Firefox and re-open it to apply all the tweaks.
Personalizing The Tweaks
The above tweaks improve speed and responsiveness in my own tests but
your mileage may vary
depending on your exact network configuration, sites visited and other
software installed. One of the best things about Firefox is the variety
of add-ons available but it does mean that there is an endless variety
of possible configurations…
In particular the three ‘network.’ preferences may not be a ‘one size
fits all’ solution for you – you may need to experiment to achieve the
best settings for your particular installation e.g. by changing them one
at a time to different values or back to the default setting. I
provided the default settings above in case you wish to revert to them.
Enable Click To Play
Plugins (e.g. Flash Player) can consume significant resources and slow down page loading. Click to Play configures
all plugins to only load on click which can dramatically increase the speeds of media rich pages.
This feature is not enabled by default at the time of writing
(Firefox 17) but you can enable it via a simple change in about:config –
see
Activating Click To Play (half way down the page). You can also
Add a Button to the Navigation Toolbar to quickly switch Click To Play on or off at the press of a button.
Don’t Load Tabs Until Selected
If you have set the option to ‘Show my windows and tabs from last
time’ (in Options \ General) when Firefox starts, it may have to load
multiple tabs – keen users may have dozens of open tabs which Firefox
has to load
in full each time it starts. This can really slow
down the time it takes to open Firefox – a common complaint. To greatly
speed up the loading process:
- In Options \ Tabs tick the ‘Don’t load tabs until selected’ box and
press OK – this menu option will still open all your saved tabs when
Firefox starts but will only load the current tab which can save a lot of time:
‘Don’t load tabs until selected’ – in Tabs menu
Search For Text More Quickly
This isn’t a performance tweak as such but speeding up the way in
which you search for text within web pages can make using Firefox seem
quicker.
Firefox includes an Accessibility setting that lets you search for
text on a page instantly when you start typing instead of having to open
the Find/Quick Find bar first – see ‘
quicker searches‘ for a guide.
Compact Firefox Databases – Advanced Users
Compacting the databases is a hotly debated topic – Firefox
should
compact the main ‘places’ database itself but, even if it does, there
are many other databases which can become fragmented and overly large –
these may also impact performance.
See
how to compact Firefox databases
– this is recommended for advanced users only who are comfortable with
backing up (and restoring if necessary) their Firefox profile.
Still Having Speed Or Reliability Issues?
If you have always let Firefox upgrade itself over many years and you
still find that it is slow or unresponsive, it may be time to consider
making a fresh start by doing a ‘factory reset’ of Firefox – see the ‘
Reset Firefox button‘
section of my Firefox 13 review for more details. This is very much a
last resort due to the amount of reinstallation and configuration that
is required afterwards.
Finally, consider whether your expectations are reasonable – I read
of people complaining about performance when they have 100+ add-ons
installed or 100+ open tabs or are using very old hardware – they may be
simply overloading Firefox beyond its realistic limits and would face
the same issues with any other modern browser.
In my own testing over the last 2 years, Firefox has beaten Chrome and IE to become the
clear winner for systems with limited memory…