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 -attributes SUB_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.