How to speed up your computer
13th Mar 2011 | 10:00
Speed up your processor, hard drive and Windows
How to speed up your Windows PC
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.
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.
Speed up your CPU and hard drive
How to speed up your CPU
Windows 7 adds support for several new CPU features that reduce energy use, which sounds great - except some say they compromise performance. Worse, all these settings are hidden by default, however that can be changed.
Enter the following two commands at the command prompt: powercfg -attributesSUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318583 -ATTRIB_HIDE and powercfg -attributes SUB_PROCESSOR ea062031-0e34-4ff1-9b6d-eb1059334028 -ATTRIB_HIDE.
Now go to 'Control Panel | Power options | Change plan settings (for your current plan) | Change advanced power settings | Processor power management'. You'll see two new options: 'Processor performance core parking min cores' and 'Processor performance core parking max cores'.
These settings related to Core Parking, a feature that allows your CPU to turn off some cores to save power when your system load is minimal. While generally a good thing, some say it causes problems, and recommend turning parking off. Set 'Min cores' and 'Max cores' to 100 and reboot your machine to make this happen.
Need more tweaks? There are plenty, including additional Core Parking options, performance management, idle states and more. Download Microsoft's guide to Processor Power Management and locate a setting of interest.
Copy its GUID from the document - 'Allow throttle states' is '3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb', for instance - and build a command along the lines of powercfg -attributes SUB_ PROCESSOR 3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb-ATTRIB_HIDE.
Enter this at the command line and the new setting will be visible. (Use +ATTRIB_HIDE at the end to hide it again.)
Keep in mind that there's a reason why many of these tweaks are hidden, though. If you disable PC idle states, for instance, you may gain a tiny amount in terms of performance, but your CPU could also run very hot, shortening its life.
Change your settings carefully, ideally monitoring details like temperature for any changes. CPU scheduling PCs are always busy, with far more processes active then there are CPU cores available. Windows manages this by running each thread for a brief period, called a quantum. When that time is up, the scheduler looks for other apps that need the CPU and runs one of those.
By default, this system triples the quantum for the foreground application, and generally does a good job of sharing processor time. But if you want to improve things, there are a couple of ways to do it.
One option is to use the Windows Server scheduling settings. These don't optimise the foreground application, so your user interface won't feel so snappy, but they provide a quantum six times longer than usual, minimising overheads and improving CPU efficiency.
To try this, right-click 'Computer,' click 'Advanced' (then 'Performance settings | Advanced' in Vista or later) and set 'Adjust for best performance of' to 'Background services'.
Or you can customise your quantum manually. Run 'REGEDIT', browse to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ PriorityControl', set 'Win32 PrioritySeparation' to '16 (Hex)', and you'll get a long quantum that also optimises the foreground app - a good compromise.
Registry tweaks to speed up your PC
Windows is full of Registry tweaks that can optimise your PC for a variety of tasks. When the OS boots, for instance, it creates threads to carry out system tasks. Adding more can improve performance on a busy PC, or waste resources if there's not much to do.
To give this a try, go to 'HKLM\SYSTEM\CurrentControl Set\Control\SessionManager\Executive' in the Registry, create a DWORD value called 'Additional Critical WorkerThreads' and set it to something between 1 and 16 (decimal). Then add a DWORD value called 'AdditionalDelayed WorkerThreads' in the same location and use the same value. Reboot and test your system.
If you're running applications that perform many network operations at once, you can benefit from increasing the number of commands that you can cache. Go to 'HKLM\SYSTEM\CurrentControlSet\Services\Lanman Workstation\Parameters', create a DWORD value called 'MaxCmds' and try setting it to 64. Delete the value to restore the default setting.
Some versions of Windows run the driver verifier at random to check your drivers. This is good if it uncovers problems, but otherwise it slows you down.
To turn it off, go to 'HKLM\SYSTEM\CurrentControlSet\Control\FileSystem', add a DWORD value 'DontVerifyRandomDrivers' and set it to 1.
Windows Vista and 7 networks support Large MTU, which sees the maximum size of a data packet increased from 64kB to 1MB. If you have ultra-fast network kit, this may improve performance, but if not, it'll cause problems.
Want to try it? Go to 'HKLM\system\CurrentControlSet\Services\LanmanWorkstation\Parameters', set 'DisableLargeMTU' to 0 and reboot. Apply the same setting to your other network PCs and look for improvements. Set the value to 1 to restore the default setting.
Usually you'll enter the Registry to tweak a setting, but sometimes viewing existing settings can be useful. For the perfect example, go to 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\BackupRestore\FilesNotToBackup'.
As you might guess from the final key name, this contains a list of system folders that backup tools should ignore, usually because they contain temporary files. This is a list of places that may contain large amounts of cached files, perfect for further exploration.
Of course. you shouldn't delete these straight away; many contain useful data - some of the time. Our test PC did include '%windir%\softwaredistribution\*.* /s' though - that's '\Windows\ SoftwareDistribution' and all its subfolders.
A visit to Google told us the folder is related to Windows Update, and can be emptied if you're careful (see method 10 at http://support.microsoft.com/kB/822798). This contained 5GB of files, so we wiped them and recovered the hard drive space.
You can improve your hard drive speeds by up to 50 per cent with this effective tweak.
One of the most effective conventional PC optimisation techniques you can try is simply to defrag your hard drive, rearranging its files for optimum performance. Something like Auslogics Disk Defrag will do the job for free, and it's so effective that you might think there's no need to do anything else.
But, as we've seen, Windows has many potential speed issues that are far from obvious, and hard drives have one of the most significant: partition alignment. In certain cases, if your system isn't set up correctly, then its drive performance can be cut by anything up to 50 per cent, so it's an issue you really need to consider.
The partition alignment problem is based around the way data is stored on your hard drive. You've probably seen diagrams of this before, showing how files are stored in units of a minimum size, called a cluster, and it's easy to imagine how this might work.
Let's say that your application needs a file, and this happens to be stored in cluster number 123,456. Windows asks your hard drive for that cluster number, the drive loads the information and sends it back. It sounds easy, but unfortunately it's not quite this simple in practice.
In reality, hard drives have a physical layer of sectors. These are overlaid by a logical layer of clusters, created when your hard drive is formatted. There may be other layers, too, but these are enough to describe the problem.
Unfortunately, the logical layer has historically assumed that drives use a 512-byte sector size, and started your partition after 63 sectors. Modern hard drives often use a 4kB sector size, and logical partitions following the 63 sector rule therefore don't align with the physical sector of the drive.
What does all this mean for your PC? If your application really needs a file in logical cluster number 123,456, then your hard drive might have to read physical sectors 123,455 and 123,456 to return the necessary data. This doesn't mean every read and operation will take twice as long as it should; drive geometry, caching and other factors reduce the overhead considerably. Still, it's potentially a serious problem. So does it apply to you?
The good news is that most people's PCs are unlikely to be affected by partition alignment issues. If your hard drive was formatted by Windows Vista or 7, for instance, then it should be fine (Microsoft fixed its partitioning after the release of Windows XP). If you only have one hard drive then Microsoft says you're also less likely to be suffering any speed issues.
However, if your system has multiple drives organised in a RAID setup, or even just a single SSD, and they were partitioned by Windows XP (or anything else that doesn't understand alignment) then performance may be compromised. And there are drives, like Western Digital's Caviar Green series, that use an internal 4kB sector, yet for legacy reasons report a 512kB sector to Windows. These could slow down if they're misaligned, even on single drive systems.
There's no need to panic here, then. Your system is probably fine, but it's wise to check anyway. To make this easier, Paragon Software has developed an Alignment Tool that scans your PC for mismatched partitions, and if it finds any, gives you the option to move and realign them.
Keep in mind that realignment is a slow process, though. We deliberately set it a 'worst case' test, realigning a 1TB USB drive, and it took more than 12 hours. This may be an issue, especially because it can't be cancelled, and if there are any problems or interruptions then you could lose everything on the drive.
It's therefore vital to back up your complete system before you start, and you must give the program a great deal of time to work. Letting it run overnight would be a good idea. But with your safeguards in place, you can then give the program a try.
The results you'll get from this process vary depending on your particular drive and hardware: some people report little or no benefit, while others see major improvements. Even if the performance gains are minimal, though, cutting the number of read and write operations will help to extend your drive's life, and that alone makes it worth the effort.
Hard drives are subject to many other odd issues beyond partition alignment, but few are quite as strange as NTFS tunnelling.
When you delete a file, the tunnelling system caches its creation date, short and long name for a few seconds. It does this so that programs that modify documents by creating a temporary file, deleting the original, and renaming the temporary to the original name, will appear to have the original file when the process is complete (the short name and creation date will be the same).
This process requires RAM and a little CPU time, though, and can slow you down when you need to delete large numbers of files. This is because Windows has no way to know you won't be recreating them, so always caches their details. It may also be entirely unnecessary. Short file names are only important for 16-bit apps, for instance. And your application may handle the file creation date issue itself, or you may not care about it at all.
If you'd like to try disabling tunnelling, then, run REGEDIT and browse to HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem. Create a new DWORD value called MaximumTunnelEntryAgeInSeconds, set it to zero, reboot your machine and see what happens.
Keep in mind that, like many of these tweaks, turning off tunneling can have odd and unexpected effects. Test your system carefully to confirm that everything is working as it should. If you experience any problems, simply delete the MaximumTunnel EntryAgeInSeconds value and reboot to restore your PC to normal.
Solve printer problems
Printers don't cause many problems, but you may experience crashes that relate to the printer spooler service ('spoolsv.exe'). If your PC starts experiencing printer-related crashes, this can often be tracked down to a program that's changed a core printer-related component. It sounds like it should be simple to solve, but this level of printer management has no user interface, and most people don't even know that it exists, so it's not exactly easy to fix.
Unless, that is, you know where to look in the Registry, where you can quickly and easily restore the problematic components to their defaults. As ever, make sure you back up your system and Registry first, then try this.
1. Printer driver
Launch 'services.msc', right-click 'Print spooler' and select 'Stop'. Launch 'REGEDIT' and browse to 'HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port'. Double-click 'Driver' and ensure it's set to 'localspl.dll'.'
2. Port monitor
Go to 'HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors'. Defaults here include 'Microsoft shared', 'Standard TCP/IP', 'Local port' and 'USB monitor'. Remove others you've installed - you must have System Restore activated.
3. Print provider
Go to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers' and rename any print provider other than 'Internet print' or 'LanMan print' to have a '.old' extension. Restart your Print Spooler and try again.
First published in PC Plus Issue 305
Liked this? Then check out BIOS tips and tweaks for speed and extra functionality
Sign up for TechRadar's free Weird Week in Tech newsletter
Get the oddest tech stories of the week, plus the most popular news and reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register