Why is my Browser so Slow?

Photo courtesy CV Neikirk
Photo courtesy CV Neikirk Web Browsers are not the quickest beasts in the computer jungle. Although recent releases of most of the popular browsers are several orders of magnitude faster and more efficent than the lethargic browser suites of earlier desktops, there are still a number of problems that web browsers can have that will have a major impact in both system and browser performance.

A lot of the more popular web pages are quite simply crammed to the edges with Flash, Java, Javascript, blinking ads, eight zillion different fonts, 500K imagemaps with no "bypass this" button, midi files, music, narration, animation and video in dozens of different formats. This is a phenomenal volume of data that would drive quite a number of very capable game engines to their limits. It's understandable that a web browser, which doesn't have "to the metal" access to ultra fast video display memory, the advanced video functions on video cards, or any specialized or optimized functions like game engines do, might have some trouble keeping everything moving at full speed.

But also unlike game engines, most web browsers are equipped with a wide variety of "off switches" many of which make it possible to increase performance dramatically. There are also browsers available for just about every operating system that are both more specialized and faster than standard browsers precisely because they can't do all of the stuff that the larger suites can.

The first and most important potential area for performance slowdowns with a web browser is graphics. The reasons for this are as varied as the individual web sites. Each can have different graphics formats, file sizes, and page layouts. Despite the fact most web connections are on high speed hardware, a page with 50MB of 24-bit non-progressive JPEGs or PNG files is going to be a heavy load for any browser. Browsers are not only limited by download speed, but they have to make room in system memory first, then video memory second for every single one of those files, and that can take a lot of CPU cycles. Again, browsers have to be lowest common denominator applications. They can't have super fast display functions, because they have to support just about any hardware.

The second is animation. Adobe Flash is a great technology and it has done a number of great things for the web, but animation puts a lot of stress on both the CPU and system memory. The doubly difficult part is that Flash animations, even if they are off-screen, can still chew up CPU cycles and extra system memory. Since Flash is almost never the central feature of a web page, it is usually that animated banner ad that is using up a third or more of the CPU cycles that could be put to better use running the rest of the computer.

Third are features that are programmed into web sites using scripting languages like Javascript or compiled virtual machine languages like Java. With a very few notable exceptions, Java is almost always a massively slow addition to any web site. The reason for this is that a browser must load an entire client side virtual machine into memory so a Java program can run. If the virtual machine isn't already in memory this can take several seconds during which time the browser and system may have difficulty doing anything else. Unless it is turned off in advance, a Javascript interpreter is almost always running in most browsers, so it doesn't have the same potential for a system slowdown as Java does. Nevertheless, Javascript can and does slow down web sites, especially poorly written Javascript.

Now the obvious answer would be to simply turn everything off and read the web as a gopher index in 12 point Times New Roman font, but that's really not terribly exciting. The web is supposed to be the future and all. There are ways to increase browser performance, however.

One is to make sure the browser has adequate cache space. Cache is disk memory allocated to a browser so it can keep local copies of pages that have already been visited. This means browsers don't have to re-download information if a page is visited more than once in a given browsing session. The more space that is allocated to cache, the more pages that can be saved client-side and the faster those pages can be re-displayed if visited again.

The second is to turn off any animation or programming language that isn't necessary to the central feature of a given web site. If, for example, you are browsing articles on gardening written in text with a few pictures here and there, having Flash and Java running is unnecessary and will just slow the gardening site down if they have to load an advertisement or something.

Third, and this is important even if performance isn't an issue, is to set your browser to disable pop-ups and pop-unders. Each new window a browser is required to open will reduce the amount of system memory available for quickly displaying web pages. Every pop-up window uses the same amount of memory as a new browser window even if it is only displaying a small ad, and those memory uses can add up as more pop-up windows appear.

The main thing to understand is that web speed isn't just about download speed. What is happening on the client machine can have a dramatic effect on overall performance, and turning off services that aren't needed can make the web faster and more efficient.

blog comments powered by Disqus
Copyright © PcBerg