Updated: October 2, 2009
Do you think your browser is slow and sluggish? You've come to the right place. I will show you how you can make your browser run nimbly and fast.
I am very active online. Very often, I come across all sorts of articles and forum threads where users complain about their browser being slow. As someone who has never experienced any browser slowness, I am really intrigued by this phenomenon. So, I've decided to do some research and see what might cause a perfectly ordinary browser that runs well on one machine to crawl like a snail on another. Luckily for you, I have the answers.
As with any research, you must have a control group, a reference to which to compare your results. In my case, I am my control group. My computers are all configured in such a way that all browsers run very fast. Here's the practical definition of fast:
If you do not experience the same results with whichever browser, including Firefox, Safari, Chrome, Opera, and possibly Internet Explorer, then you have a problem. Here is the list of possible reasons that may be crippling your browser.
Anti-virus software (all browsers, Windows)
Anti-virus software may or may not be necessary. This discussion is irrelevant to the topic at hand. If you're running one on your Windows machine, your anti-virus software could be the reason your browser is misbehaving.
The main reason for this is the fact that some anti-virus programs are a total waste of system resources, poorly coded and implemented, with bad, slow routines that do not handle well the large number of operations required. Others are lean and mean and are hardly felt. Good examples of fast anti-virus programs are Antivir and AVG. A very heavy, ravenous anti-virus is McAfee. The difference between these two classes is huge. As huge as the difference in fuel consumption of Hummer versus Volkswagen Polo Bluemotion. Now, mileage may vary. I can only tell you the truth the way I see it.
Here comes Johnny ... a real life example:
Machine A is 4 years old, has 2GB RAM, a single-core CPU and runs no anti-virus software. It has been installed once in 2005 with Windows XP SP3 and since has been running smoothly and without any problems.
Machine B is 1 year old, has 2GB RAM, a dual-core CPU and runs an anti-virus program. It has been installed once with Windows XP SP3 and runs ... well ... not spectacularly. Now, let's take a look at these two images:
Figure 1: Task Manager on machine A, approx. 2 weeks after last reboot, running P2P 24/7 and virtualization software including VMware Server and VirtualBox. Indeed, quite a few processes in the process table belong to VMware drivers. There's also a number of processes that belong to scheduled backup and imaging software, plus UPS monitor.
With 50 processes, which include Firefox and Opera browsers open, plus said P2P software, virtualization products, scheduled tasks, and UPS, the memory usage is about 550MB after two weeks of grueling work. Yet everything runs as smooth as silk. Response times of the two browsers is phenomenally short. Click, done. P.S. This machines takes only 280MB when booted. On a side note, that Peak under Commit Charge (K) comes from launching a virtual machine. Likewise, notice that CPU consumption is low, virtually nil.
Figure 2: Task Manager on machine B. The machine has just been booted. There are no open programs. The process table does not have anything special, save for a whooping handful of anti-virus processes. Opening Firefox takes approx. 13-14 seconds. Opening a new tab takes 1-2 seconds. It's a disgrace. Additionally, notice the CPU usage. Cycles are wasted on useless polling and hooking by the anti-virus software, without any reason really.
Machine A versus Machine B, a few more details
Machine A runs Firefox with no less than 21 extensions installed. Despite this impressive numbers of add-ons, the memory consumption is at around 51MB when the browser is started. And there are no memory leaks. If you're wondering what a memory leak is, well, it's a condition where an application, due to horrible coding practices, does not release pages of memory it has used and no longer needs, causing the overall memory consumption of the process to continue to rise over time.
Machine B runs Firefox with just 4 extensions installed. Not only does it take an eternity to open, it also takes much more RAM, more than twice compared to machine A. While there is no memory leak, using the browser with 10-15 tabs open becomes an issue.
Now, something you do not know ...
I have disabled the HIPS component of the said anti-virus above (machine B), plus a few more menacing, bothersome utilities that used to hog the machine resources even more. Take my word for it, but before my house cleaning, the machine would take 1200MB of RAM on boot. The process table used to contain 112 running processes without so much as Notepad open.
Just removing the HIPS component halves the overall memory consumption for each and every process. An application like Outlook used to take 200MB RAM; now it takes approx. 60MB, 60-70% less. Firefox used to take 150-200MB without breaking into sweat; now it takes approx. 110MB, approx. 50% less. All because of one lousy application.
Imagine what happens when the anti-virus software is completely removed? You get approx. the same results as with machine A. Simply flabbergasting. In fact, you can read my article on Design of Experiment methodology, where I showed the right choice of anti-virus can be equal to doubling (or halving) the RAM resources.
Forget about the actual numbers. Focus on trends. In this case, the choice of anti-virus software is critical. It affects everything. The right choice of anti-virus software can easily result in 60-70% reduction in CPU usage, 50-60% reduction in memory usage, 90% improvement in response times, much less disk activity, less power consumption, less heat, less wear, and much better, smoother and faster experience overall.
But even if you experience just as little as 10-20% improvement due to a smarter choice of programs running on your machine, it's still a huge benefit. Of course, you will have to believe my findings presented above, but if you do, then you have serious thinking to do and decide what software you want or need running on your machine. The choice can be critical.
Web shields (Windows mainly)
Another menace that can slow down the browsing experience are special utilities, often bundled as components of this or that anti-virus software, with the sole purpose of scanning every single web page you go to.
Not only do these applications potentially introduce a privacy issue, as every single page you visit is registered and scanned by the utility, you have a computer program parsing endless line of text, with bits of actual code and maybe some scripts in between, in an attempt to locate possibly malicious payload.
Furthermore, these web guards/shields infuse the user with a false sense of security, as they may think pages scanned clean are safe to use. Maybe from the purely technical point of view, but this tells you nothing what kind of content you may encounter at the site. Nor can the scanners tell you the nature of owners and their services. Whether someone runs a fraudulent shop waiting for naive and greedy to fall into a trap requires human intervention, rending automated scanners rather ineffective. On top of all these, you will have false positives, i.e. good websites accidentally flagged as bad. Here's an example:
AVG anti-virus is a very good product overall. However, I most warmly recommend you disable the LinkScanner component during the installation. This will remove the toolbar component and the active scan of each and every page you visit. This will keep your browsers lithe and sprightly.
Inadequate system resources (all operating systems)
As the popular saying goes, you can't stuff more than seven Russians into the back of a brand new Zaporozhets. The same is true for software. If your computer is lean on RAM, no matter what you try to do, it will probably not be able to handle modern, heavy browsers.
Of course, you have quite a bit of flexibility. Using Puppy Linux versus Sabayon Linux versus Windows Vista probably gives you several orders of magnitude of leeway when it comes to making good use of ancient hardware and low system resources.
This is something you need to pay attention to. Unfortunately, very few people will opt for another operating system, especially since not all browsers will run on all operating systems. If you like Firefox or Opera, you're lucky. But Safari will work on Mac and Windows only, Chrome is yet to run well on Linux, and Internet Explorer, without the graceful hacks of IEs4Linux, won't run on any other system than Windows. There are many other browsers available, which help even out the odd a bit, still it's a tough call for weak machines.
Please note that the combination of resources + software means a lot. For instance, someone with just 512MB RAM could never run the configuration used on machine B, no matter how hard they tried. But they could manage on machine A, with possibly a reboot once a week.
My experience shows that the following browsers will do well on weak machines: Galeon on Linux, a Gecko-based, lightweight browser, K-Meleon on Windows, another Gecko-based browser, and Opera on both Windows and Linux.
Bad extensions (Firefox only)
Using bad extensions can significantly change your Firefox experience. By bad, I do not mean wicked - just plain badly coded things. Unfortunately, such extensions exist and sometimes they find a way into a user's browser, where they become the focus of crashes, slowness and memory leaks.
Please note that Sage is a lovely, recommended extension. It serves here just as a visual example. Firefox is quite often blamed for memory leaks, but the real problem exists in some of the extensions. Choosing the right extensions may not be easy, but there are a few guidelines that may help you reduce the chance of grabbing a badly coded one.
- Read articles written by smart people (e.g. myself).
- Read reviews written by users on addons.mozilla.org, the official repository.
- Use extensions that have been downloaded many times; if there are problems, the chances are someone found them already. Furthermore, multiple downloads, especially if accompanied with a high star rating, usually indicate the product does as promised.
- Backup your profile before installing extensions.
- Test extensively [sic] before committing the change.
Hopefully, this combination of tips will help you make the right decision and choose the extensions that not only offer you the desired functionality, but they manage so without impairing the health and performance of the browser.
Corrupt profile (Firefox only)
Another thing that may ruin your Internet fun is a badly configured browser, with broken and/or outdated plugins and corrupt files, which inevitably mar the experience. Browsers running in an unstable state are more prone to crashes and will most likely take longer to perform routine actions due to inherent problems with their core files.
Very often, the problem lies not in the program files themselves, as these would prevent the browser from running altogether, but in the configuration files. Firefox, being a product of the open-source world and with strong Linux roots, is inclined toward multi-user environment. As such, it is capable of creating separate profiles for different users, each containing its own set of extensions, bookmarks, themes, etc. These profiles are essentially folders, inside which individual user data is stored.
It is not a common thing, but it may happen - profiles can get corrupted. In this case, starting Firefox browsers in the safe mode or creating a brand new profile and testing the performance is the first thing you should do after having isolated environmental problems.
Firefox safe mode
To run Firefox in the safe mode, you can either use the Start menu in Windows or run Firefox from command line with -safe-mode parameter in all operating systems.
Create a new profile
Creating a new profile means starting a new page. The new profile will not have the data stored in the old one, which is a pain, however this emphasizes the healthy need for frequent backups of Firefox data. To create a new profile, invoke Firefox from the command line with the following parameter:
This is also valid for Windows. After the Profile Manager launches, you will be able to manipulate the profiles. Create new ones, delete old one, set the new default one.
Do not delete the old profile until you have ascertained that it is the reason for performance slowness. It won't hurt to keep the old profile for a few days or weeks. In fact, disabling it is enough - or copying it somewhere else.
BHOs & Toolbars (Internet Explorer mainly)
Internet Explorer is less extensible than Firefox. However, it can be modified through the additions of Browser Helper Objects (BHOs), DLL modules that serve as plugins for Internet Explorer.
To make the plugin not only work - but also serve the user, BHOs often but not necessarily install toolbars into the browser, through which the user can control and manage the plugin. There are many toolbars available, some legitimate, others rogue, all of which can find their place inside the user's Internet Explorer, altering the base functionality of the browser.
I will mainly focus on toolbars here, as the visual extension of BHOs, although these modules can affect the browser performance even if there are no visible elements. For example, anti-virus software may have security modules installed into Internet Explorer to protect it from hijacking. There is no real need for any visual indicator for the user.
Toolbars are visible and meant to be used - which is why some users install them, even if there is no real need. In the modern age of modular, tabbed browsers with built-in search engines, toolbars are rather surplus. They might have had their merits in the past, but even then, they were regarded dubiously as performance killers with lots of privacy concerns.
This does not stop companies from shipping toolbars as free parts of software bundles, including security software, but also other utilities. Some popular examples include IrfanView, CCleaner, Foxit Reader, and a whole bunch of security programs.
These toolbars may be useful, but they are often annoying and they slow down the browsing experience. Their added value rarely meets the expectations or the downside of reduced browser performance caused directly by their use. I will not discuss the security issues involved with the use of toolbars in this article.
Functionality wise, a modern browser can do everything a typical toolbar does and more. You will rarely need a toolbar, even if you are using specialized services like Xmarks or Alexa. Some services will not work without a toolbar, though - like StumbleUpon.
One more thing, please note that toolbars are not limited to Internet Explorer, but they are definitely predominantly targeted toward Internet Explorer users. If you are facing slowdowns in browser behavior, examine whether your toolbars are the cause. Disable them one by one and restart the browser to see if the phenomena are gone or reduced in severity.
Software firewalls (Windows only)
Software firewalls with outbound control are mainly used in Windows. Some users do not trust their programs and like to have a method of controlling traffic leaving their machines. Additional processing of network traffic may slow down your browsing experience, especially if the firewall has a bad implementation that is not well suited for mass-traffic use.
Make sure you check your firewall's capability to handle multiple incoming and outgoing connection. You should probably surf a lot and possibly run P2P sharing software, just for fun, to see how intrusive your firewall is.
If you experience a noticeable slowdown in page loading or timeouts when your network is loaded, you should check whether your firewall is configured properly, whether your system can handle the load, and whether your firewall is up to the task. Some software is simply average or plain bad and no amount of good will on your behalf can change that.
I cannot tell you which firewalls are slow, but I can point a few that do not negatively impact network performance, even when under great strain. These include the legendary, now discontinued yet still fully functional Sygate and Kerio 2.1.5 firewalls for Windows XP, and the Windows firewall itself! As much as people like to point an accusing finger at Microsoft, their firewall works rather well when it comes to churning bits.
Slow browsers are much more a matter of configuration than bad coding. With proper practices in place, all your browsers should behave. They should start fast, respond quickly to your inputs, display web pages no slower than your ISP bandwidth permits, and be stable at all times.
Proper practices are much more than just user behavior. It's about having the right system resources for the task, unencumbered by poorly coded software running in real time. In many cases, these will be security products, like anti-virus programs or maybe firewalls, inducing a heavy penalty on system RAM and CPU without apparent justification. Then, you might have issues with browser addons, be they extensions, themes, plugins, or toolbars.
If you encounter a slow browser, do not be tempted to throw it away. You may vanish the symptoms, but you won't solve the real problem. Examine your system, look for the bottlenecks and try to identify what may be causing the slowdown. The right choice of browser addons and possibly security software running on the host can translate into 80-90% reduction in slowness, as unbelievable as it sounds.
I hope you liked this article. Some of the suggestions raised here can definitely be an eye-opener for you, in regard to ... well, pretty much everything. No more slow browsers, then?