When dealing with older machines, particularly in a helpee/helper scenario, oftentimes, when a user complains that a slightly older machine is “slow” many respondents will chirp that the system is old, needs more memory or CPU, etc to fix the problems. However, with these older machines, it isn’t exactly pertinent to upgrade the hardware. CPU speed and Memory usage by XP and Earlier is not the huge issue as many would claim. The problem is memory usage by too much crap running in the background. Some will cite that Software has changed since the introduction of XP to take advantage of more and faster processors, larger amounts of memory, bigger and faster hard drives, and so forth. While this is true to an extent, the fact is that a system that used to work fine for browsing in the past has no good reason not to be good for browsing in the present. Any Semi-modern machine (Say, 2002-2003 and later) should have the Oomph points to run the client-side of any modern “Web 2.0” website without any problems. Somewhat older machines might be a tad slow at it, but they should be very usable with an appropriate browser.
With that in mind, I think looking for the cause in software or software configuration, rather than hardware, is the solution in many of these cases of slow machines. Upgrading the hardware merely appeases the aggressor, and we all know how that can lead to a World War. Any system that meets the recommended requirements for Windows can usually be made into a very usable machine for, if nothing else, browsing, E-Mail, and office applications. Many scoff and say that the Windows Requirements are well below what a system needs to run the OS; I disagree.
The obvious first thing to check would be malware. There are a lot of Free Help forums available devoted to this purpose. One that I can consistently recommend is Computer Hope I know, I know, you are saying “my computer is clean! I checked with AVG/Avast!/Kaspersky/etc”. Well- everybody says that. And you know what? sometimes they are right. However, sometimes they are wrong, and it’s impossible to determine from our side (as helpers) which it is. Also, it is best to eliminate Malware as a cause early on, because otherwise, suggestions could very well just be time wasted by the helpers. Many topics start with something to the tone of “My computer is slow, etc etc. By the way, I KNOW IT ISN’T MALWARE, I CHECKED”; helpers oblige the poster in many cases, and will offer suggestions based on a malware free system. Later, the person requesting help will post back saying “I fixed the slowdown issues, I ran a check with Malware Bytes and it cleaned off 500 bajillion* trojans”. These types of topics can be frustrating for helpers, because they are offering assistance based on a assumption that later turns out to be false and in many ways makes their efforts a waste of time. Remember the assistance you receive on free support forums are typically given by volunteers, and if I may be so bold, it can rival even the best paid support. Since there is no money involved, you don’t have to worry about being scammed or conned either. Even so, it isn’t polite to unnecessarily waste the time of those who assist you. This of course applies regardless of the forum or fora you post in for assistance.
Basically, if your computer running Windows is slow, the first thing you should do- regardless of how many checks or scans you have run, or how by you absolutely sure you are that you are squeaky-clean malware wise, is get your machine checked out by one of the malware removal specialists on this forum. This is done by following the Malware Removal Guide to the best of your ability, creating a new thread here. Posting the logs you created when running through the guide, or what issues you encountered trying to do so. Follow the steps provided by a designated Malware Specialist (you can tell who is and is not a Malware Removal Specialist by looking at their title, which is found to the left of their postings below their username and avatar). Once they declare you clean, and your system still feels slow, you can proceed to post a topic in the section appropriate to the problem (usually, this will be the section for your respective OS). Obviously, there are plenty of other “Computer help” forums out there. However I’m a member of that one so it automatically becomes more awesome tham any alternative :P. Of course, These are not hard set rules, and you will not be strongly chastized for not following them, However they help the smooth running of the forum, and hopefully they bring a quicker resolution to your problem than otherwise; not to mention, many knowledgable members are put-off by things like “don’t recommend X” or “I already tried Y so don’t suggest it” type comments; you are here for help, you don’t get to pick and choose what you get help on, and a open attitude towards what the problem could be makes it a far more pleasant experience for everybody. After all, if you don’t know what the problem is, there is no reason that you can really be sure what it is not to any degree of accuracy.
Once you’ve got the clean bill of health from one of the highly qualified Malware removal experts in the Malware forum (poor overworked buggers they are, round of applause! :D) you can also try some standard stuff that can fix the most common causes for a machine to be slow. Obviously, on older machines, you will “feel” the slowdown and issues easier than when you have a very fast machine, but fast machines are not immune, and upgrading a slower machine doesn’t really “fix” the problem in those cases.
You know how some so-called professionals cite “Windows rot” and “Registry Errors” as the cause of a computer being slow? Well, they are partially correct, if still ultimately dead-wrong. it’s not so much Windows itself “rotting” as much as it is the stone that is your system picking up moss and other things. For example, allow me to cite some of what could be called “crap” on my own system:
In Add/Remove, I have a number of applications listed- a Printer Driver for a printer that has been broken for ages, Games I rarely play, applications I don’t even remember installing (C++ Builder, CamStudio, CodeSite Express) Various programs installed with the drivers of some of my hardware, such as Creative Media Source, Creative Software Update, Creative WaveStudio, etc that I’m hard-pressed to remember if I ever used at all; Dell Driver Download Manager Which is a weird thing to find since my machine isn’t a Dell, “DIMIN Hotkeys” Whatever that is, DScaler, FoxIt reader, which I use frequently, but appears three times in the list for some reason, Several IRC clients that I installed while giving them a whirl that I haven’t touched since, etc.
There are, as with any rule, however, exceptions to this. One exception to this rule is regarding Hard Disk space.
Windows needs some free space on disk for it’s paging file; additionally, free space is important because many applications write temporary “scratch” files to work off of, as well. When you are low on disk space, you can have all sorts of disk thrashing and programs can encounter unexpected “Disk Full” errors- many programs are written on the assumption, when writing temporary files, that the disk has enough free space. Also, free space on the system drive is important to properly keep your Operating System Up to Date, as updated components, hot-fixes, service packs, and so forth will be installed to your system drive. If you find that your system drive is low on disk space, there are several things you can do:
Adjusting The Paging File Options
First, you will need to open the System Properties dialog. This can be accessed on any machine by pressing the key combination of Windows Key + Break. the break key is usually located to the right of the Function keys, and will sometimes be labeled “Pause” or “Sys Rq”
With Windows 9x/ME, on the “System Properties” Dialog that appears, choose the “Performance” Tab, and click the “Virtual Memory” button. A “Virtual Memory” Dialog awakens at your request, sleepy and bleary eyed, having not had coffee:
Normally, of course, the “Let Windows manage my virtual memory settings” is just fine. But sometimes the Mother Hen doesn’t know the full story. Perhaps you have a faster hard drive hooked up, or something. As such, you can use the “Let me specify my own Virtual Memory settings”, and change the drive, and maximum and minimum sizes. Usually, the only change you ought to make, if any, would be to change the drive where the swapfile resides. Naturally, Disabling Virtual Memory altogether is not recommended, particularly on Windows 9x, since it really borks the Memory Manager and imposes all sorts of freaky stuff on it, making it do all sorts of cruel and unusual things like a twisted uncle. This may in fact be why it is labelled “not recommended”. The middle option is in a virtual no mans land. Neither recommended, nor not recommended, it somehow manages to live directly between what would otherwise be a true-false state, like some sort of mind-bending schrodinger’s cat paradox of quantum mechanics.
Although not as heavily used as Windows XP nowadays, Windows 2000 has proved that it is quite a solid Operating System and it can work comfortably on more systems than XP thanks to it’s more lax System requirements. This is mostly as a result of it not having the “Luna” Theme manager introduced by Windows XP. Of course you have to trade in a few features. But I do digress. With Windows 2000, they tucked the option you need under the “Advanced” tab.
On this tab, they tucked what you need away even further, in the “Performance Options” button. Buttons were all the rage in 2000, I suppose. I don’t remember. Anyway, this opens yet another dialog (dialogs were pretty popular back then too, to be fair).
Here, you’ll need to press the Change button in the virtual memory Frame. There sure is a lot of button pushing. Well, it was a “professional” OS, and when you think of “administration” and stuff in like a nuclear power plant, you think of lots and lots of buttons and dials and things, so I guess they took that as a natural metaphor upon which to build a “professional” Operating System. Although, really it’s quite the same as NT4. No matter. When you press the Change button, another sleepy Dialog appears. Forgivably, this one doesn’t have buttons that open more dialogs. I guess they couldn’t think of anything to make a dialog out of.
Here, you can change the parameters specified for each drive. if you have a faster drive, you can set Windows to use more space on that drive compared to your other drives. You can even change the Maximum Registry Size, though it surely won’t have any effect on performance. Actually, you really should leave it alone. Changing the paging file size of a drive is done by first selecting the drive in the Upper Listbox, changing the values in the Textboxes provided, and clicking the Set button. You have to click the Set button or else it won’t, uh.. Set, the size of the Paging file. This is a Professional Operating System, and it assumes you are a professional and know how to work with idiotic UI designs like this one, I guess.
By clicking the button, you wake a slumbering beast known as the “Performance Options” Dialog. Windows XP, in contrast to Windows 2000, was released around the time that Tabs were becoming popular, so they added tabs to this dialog. The Option you need will be on the “Advanced” tab, under the “Virtual Memory” header. Click the “Change” button. This brings yet another dialog to life.
With the exception of the now missing Registry option, which they undoubtedly removed because it just confused people (and they removed the limit that it controlled entirely), everything works much the same in this dialog as it did in windows 2000.
Windows Vista is another excellent OS. It’s major flaw is that it was typically shipped on machines without the proper Oomph factor to run the system at a good speed. For some lower tiered systems, you may want to consider downgrading to Windows XP, which can boost performance.
The Operating System itself rearranged things somewhat, moving settings and layouts to a more “webby” look of hyperlinks and so forth.
When you press control-Break on Vista/7, it opens the “Basic Information about your computer” dialog. Which is quite different from the dialogs presented by older systems. Here, you will want to choose the “Advanced system settings” option, on the “Tasks” panel that appears on the left in most locales.
In the System Properties dialog, you will need to choose the “Settings” Button in the Performance frame. When you do, another dialog appears, the Performance Options dialog.
Here, you will need to choose the Advanced Tab, and then the “Change” button in the “Virtual Memory” area.
Here you can adjust the Virtual Memory options as you see fit.
Another thing that can cause the system to go slowly can be little “niggly” bits that programs install into Windows; Hooks and Explorer shell extensions, and so forth. For Example, on my desktop (main) machine, this is what my Right-Click menu looks like:
It’s HUGE. And consider that I typically go to the effort of removing entries using Shell Menu View, and have removed a load of things for other applications I have installed and don’t use or whose entries would be redundant, examples being 7-Zip and WinRAR, which essentially mirror the functions of the PowerArchiver menus. What does the right-click menu have to do with slowing your machine down? Well, it’s not so much the right click menu itself, but rather what it indicates. In this case, while some of the entries- such as “Copy as Path” and “Take ownership” were added by me with registry editing, as well as several others, such as “Open With Editpad” and many others and thus have practically nil performance impact, the entries with icons are in fact created by DLLs loaded by Windows Explorer (the shell program). For these purposes, it’s important to consider the impact they might have; after all, first, Explorer has to load up the DLLs when it starts. Issues with uninstallation, reinstallation, etc could cause it to take longer at this, which can be a cause of a slow “Time To Desktop” from login. Additionally, everytime you right-click a file, Explorer goes through all the loaded DLLs registered as “Context Menu Handlers” and asks them “Do you have anything to add to the menu”. Depending on the Library, it could take time for it to populate the menu with it’s entries, initialize proper data, etc. In this case, for example, the PowerArchiver extension needs to inspect the file to see if it is a zip file or a SFX Zip File (and thus whether it should tell Explorer “why yes, I have these entries for extraction to add”) or not, and then it adds the various “Compress To” options as well. TortoiseSVN, a Source Code management tool, also has to do some inspection to find out what entries it should or should not add, Same with the “Git Extensions” (another Source management tool). All this adds to the time it takes to show that menu. Now, in my case, the system is a Quad core, so I don’t notice any delay at all, however, on my older system I can say first hand that a ton of those things can make using Explorer a huge pain. In addition to the Context Menu, Applications also install things like ColumnProviders (which add columns to Explorer), Drag Drop handlers (in my case, for example, PowerArchiver has one so I can drag and drop files onto an existing compressed archive and it get’s added), Icon handlers (so that files have icons that represent their contents, thumbnails (much the same), etc. All of these various extensions can have issues either because the extension was not well thought out, forward thinking (say if you install a Extension designed on XP with compatibility issues on Vista/7) security problems with UAC, and so forth. And these can Cause Explorer(And other applications that show that menu, trust me that is NOT fun to code…) to slow to a absolute crawl.
In much the same fashion, many programs install “Auto-Updaters”. Heck, even some of MY programs that I wrote have their own update checking utility. What I personally disagree with is the fact that so many of them find it important to run their update checkers in the background. In fact, I wrote about this before. It’s pretty silly. For example, If it wasn’t for my intervention, my system would have “Download managers” and update checkers running in the background for:
And who knows what else! I’m sure some might be thinking, “But it’s important to be updated” And, depending on the application I agree. But- why not have them check for updates when you start them? Why is it so important that Google Chrome be updated on a schedule using a service? or Java? Or Adobe Tools? My Applications that I wrote use a small library I wrote for checking updates, when they start, they check for updates by querying bc-programming.com, if they find one, they prompt the user if they want to update, and if so they do. They don’t install a background service for constantly making sure the software is up to date. If the software isn’t being run, it doesn’t matter if it’s up to date or not! All the update “service” programs manage to do is steal processor cycles away from useful computing tasks. Even though they are typically set to very low priority services, only check every few hours, or every day- they are still a process, and all the updat-ey programs take their toll. Especially when you have a dozen of the bloody things trying to check for updates at the same time when you start the machine. And, it sorta makes me angry, because your average user doesn’t generally know how to shut them off, or that they can; they just accept it as “part of the norm”, much like Windows Update. However, it’s your computer- you are in charge of what does and does not run on it, not some Software Vendor.
Lastly, you of course have other startup applications, or “Quick Launchers”. Some utilities that launch on startup are useful, others are just crap added by vendors to basically do nothing more than show their icon in the Notification Area as an advertisement. Although since XP you’ve been able to hide (and in fact they hide on their own) various Notification icons, the fact remains that behind the icons are Applications running in the background. Again, citing my own specific case; without my intervention, I would have countless “launching” programs installed, for Java, PowerArchiver, and who knows what else. The idea behind these programs is that they will sort of “preload” the applications, and then when you want to launch them, they will launch faster. But all it ends up doing is screwing up the usage data for that Application for XP’s Prefetcher and Vista/7’s “SuperFetch”, which can actually slow things down a tad. Not to mention the time saved isn’t really saved at all and simply moved to when the desktop shell starts, which is pretty pointless anyway.
So, now you’re asking “well, how in the heck do I get rid of them?”. Well, first, you can remove a good chunk of them by removing them in Add/Remove. Others can be found in the options of the relevant programs. Some programs and their vendors have decided that they will decide what is best for you and not offer a option to remove their autoupdate service. If you have one of these programs, you should properly chastize their authors, because that is a stupid stance. Second, you can use any number of other utilities that have sprung up to clean up the mess of Know-it-all Software vendors. One that is recommended here often is Mike Lin’s Startup Control Panel. Another is Autoruns. Autoruns is the more complex of the two, however, it is very useful if you are running a 64-bit system, since many other tools for removing startup applications- Such as Mike Lin’s Startup Control Panel – Are 32-bit applications. As a result of that, and due to some goofy stuff with registry and file redirection, they can’t see the entries added for 64-bit programs, which are becoming more commonplace. Autoruns, however, has a 64-bit version which is cleverly embedded in the program itself so that you can run just the one program and it will work for both systems. So, if you are running a 64-bit system, the latter can help if you can’t seem to find a startup program with the other tools.
*number provided may be exaggerated or nonexistent.