The First Law of Computing states that, no matter how much money you spend on a PC, it's never quite fast enough. As a result, we're always looking for new ways to squeeze a bit more performance out of our systems.
While there are plenty of speed-up guides available online, most deliver only minor variations on advice you already know: uninstall unwanted programs, disable any irrelevant services, clean up temporary files, defrag your hard drive and so on.
These are all good, solid tips, but if you're an experienced user, there comes a time when you want to move beyond the basics - to crank up the volume and hear something new.
Achieving this is easier than you might think, because your PC's OS includes a host of amazing ideas and technologies that rarely get much attention. Why? Sometimes they're too technical for the average home user.
Interrupt Affinity, for instance, allocates a specific processor to handle demands from a particular device, like your network card. Microsoft says this can improve a PC's performance, but it may take some work to find the best settings.
If you'd like to try it, check out Microsoft's guide (opens in new tab) (there's a discussion on real-life experiences available here).
Exposing other technologies to public view may be seen as too risky. Windows 7 includes a new feature called the Fault Tolerant Heap, for example, which detects crashes caused by memory-handling issues and tries to fix them when the application is run again.
It has Registry settings that you can tweak to improve stability or reduce resource use, but if you get this wrong you could end up making your PC worse, so it's not something Microsoft boasts about.
If you're keen to take a look anyway, Technet has the details.
Other ideas tend to get forgotten. Install some programs, for instance, and they may add variables such as pointers to files or folders. When you uninstall your apps, some of these may be left behind. While this isn't a big issue, it may waste a little RAM or slow down the odd disc access, so there's no harm in looking. The Rapid Environment Editor will highlight errors for you.
In this article we'll reveal a little-known hard drive optimisation that could increase performance of some PCs by up to 50 per cent. We'll explain how you can persuade Windows 7's power plan settings dialog to reveal a host of CPU-related settings and tweaks.
We'll talk about network performance improvements introduced in Windows Vista and 7 that are turned off by default and will remain that way unless you know how to enable them. We'll discuss ways to remove unwanted drivers, disable an obscure, resource-hogging NTFS feature and squeeze the maximum power from your processor.
Remember, these aren't your average tuning techniques. Some will deliver real results, but several come with risks attached. It's therefore vital that you protect your data by activating System Restore and backing up your important files before changing anything.
Just about every PC optimisation guide will recommend you uninstall unwanted programs to save resources. Some will also suggest disabling any unnecessary Windows services. This is sensible advice, but if you stop there you'll be ignoring a huge amount of clutter.
Drivers are installed by devices and many applications, but they're often left behind if you unplug the hardware or uninstall the program. Applications often install their own Windows services too, without you even realising.
Most optimisation guides won't cover these because they're not standard Windows services, but if you're looking to get the most from your PC then it may be worth removing some of them. Culling these will only deliver minimal benefits.
Removing failed (or multiple) driver installations can make your PC more stable though, and there's little more annoying than when you need to remove or replace a driver, but Windows keeps reinstalling it. Knowing how to kill a driver for good can be very useful.
The simplest way to begin culling unwanted drivers is with Device Manager. Of course 'simple' isn't always best, at least in this case: removing the wrong drivers can cause problems that might prevent your PC booting, even in safe mode. Don't try this unless you have a backup, and enough bootable recovery tools to cope if something goes wrong.
For another view on your drivers, open a command window (right-click the 'cmd.exe' window and select 'Run as administrator' in Windows Vista or 7), and enter the command pnputil -e. This will display all your third-party drivers - everything you and your installed apps have added to Windows.
For the most part, these won't be doing any harm beyond occupying a little hard drive space and maybe a few Registry references. If you find a driver that you know isn't system-critical and you want to delete it (so you can reinstall it more easily, perhaps), make a note of its 'Published name' and enter the command pnputil -d oem12.inf, where 'oem12.inf' is replaced by the file name on your system.
If Windows tells you the device is in use, you can force deletion with the -f switch like this: pnputil -f -d oem12.inf. You need to be sure that Windows can cope without it.
Third-party services are easier to review. Just launch 'MSCONFIG.EXE', click 'Services', check 'Hide all Microsoft services' and look for items you don't need. Apple Mobile Device and Bonjour Service, installed with iTunes, are good examples. If you don't have an iPod, iPhone or other Apple device and don't use Bonjour (a network discovery tool), they're unnecessary.
If you spot something like this that's running and you're sure you don't need it, launch the Services applet ('services.msc'), then find and double-click it for more information. If you're positive that the service is unnecessary, set its 'Startup type' to 'Disabled' to turn it off when you next reboot.
Clean up your system with Device Manager
If you suspect that your PC is suffering driver problems, launch the Device Manager tool from Control Panel (or run 'devmgmt.msc' directly). If a device has a problem, its section will be expanded and it'll be highlighted with a yellow exclamation mark.
Double-click the faulty driver, click the 'Driver' tab and use the 'Update driver', 'Disable' or 'Uninstall' button to solve the problem. Device Manager won't show you all the drivers installed on your PC by default, but a quick tweak will change that and you'll soon be removing any unwanted junk.
Right-click 'Computer', select 'Properties' and click 'Advanced (system settings) | Environment variables | New'. Enter DEVMGR_SHOW_NONPRESENT_DEVICES for your variable name, 1 for the value and click 'New | OK'.
2. Hunt for junk
Launch Device Manager, click 'View | Show hidden devices' and you'll see a 'Non-plug and play drivers' section. Expand this to see leftovers from past installations (we found 13 McAfee drivers on a PC with no McAfee software).
3. Clean up
If you see a device that relates to something you've uninstalled (and nothing else), its icon is greyed out and your system is backed up in case of problems, then you can remove it. Right-click the entry and select 'Uninstall | OK'.
How to speed up your internet connection
Does your internet connection tend to be rather slow and unreliable? If so, Windows has a great selection of handy tweaks and technologies that might be able to help - if you can find them and put them to use safely.
Network connections normally start transfers by sending small blocks of data, for instance, increasing these in size only gradually. Compound TCP (CTCP) ramps up your window size more aggressively, often improving performance.
It's turned off in Windows Vista and 7 by default, but you can restore it by launching an elevated command prompt and entering netsh int tcp set global congestionprovider=ctcp.
If you encounter problems, re-enter the command with =none to turn it off, or =default for the default value.
Windows 7 also introduced Direct Cache Access (DCA), which reduces system overheads by allowing a network controller to transfer data directly into a CPU cache (if your system supports it). This is turned off by default, but can be activated with a netsh command: netsh int tcp set global dca=enabled. Use =disabled to turn it off if it doesn't help.
You can use the same tool to activate Explicit Congestion Notification (ECN) - a technology that helps your system cope with network congestion without dropping packets. Remember, if you're downloading big files and not suffering from congestion, this can slow your system down.
Check your PC to see ECN's status. If it's off and your system supports it, entering netsh int tcp set global ecncapability=enabled will turn ECN on (=disabled will turn the technology off, and =default sets the default setting). Test your connection to look for improvement.
All these features can give your CPU more work to do, but in many cases this can be minimised by allowing your network card's processor to handle the connection. This should be activated automatically, but it's not clear that this always happens. Even Microsoft recommends enabling the feature manually (if your network card supports it) so it's worth a try.
Enter netsh int tcp set global chimney=enabled to turn the feature on, or use =disabled to turn it off.
Registry tweaks to speed up your network
There are plenty of brilliant network-related Registry settings available. Launch REGEDIT, browse to 'HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters', then consider some of these possibilities.
Windows throttles traffic on networks with high latencies (delays), reducing timeouts but slowing you down. To disable this, add a DWORD value called 'Disable Bandwidth Throttling' to '\Lanman Workstation\Parameters' and set it to '1'.
The system is equally cautious with TCP auto-tuning, disabling it if there's any chance your system won't support it. Add a DWORD value called EnableWsd and set it to '0' to disable these diagnostics and keep auto-tuning on regardless.
Your home PCs cache data about files and folders they access. Increasing the cache size uses more RAM, but can reduce network traffic and improve speeds.
Add FileInfoCacheEntriesMax, DirectoryCacheEntriesMax and FileNotFoundCacheEntriesMax DWORD values to '\LanmanWorkstation\Parameters', set them to values greater than their defaults (64, 16 and 128), reboot and see what happens.
Be careful and if you have any issues, return to the Registry key you've added, delete it, reboot and your PC will be back to normal.