Hack 110. More Power: Registry Hacks to Speed Up XP
Put your Registry-hacking knowledge to good use: hack your way to running Windows XP at top speed.
Creating and marketing tuning and customization utilities for the Windows XP operating system is quickly becoming big business. A Google search will turn up hundreds of sites and programs dedicated to tweaking Windows XP. But no matter what type of interface is developed to make system tweaking easier and safer for the average user, the end result is that the changes are reflected in XP by modifying the Registry. For some people, commercial tweaking utilities might be the method of choice, but with a few precautions and safeguards it's possible to enhance system performance using only those tools supplied with Windows XP.
As you learned in Chapter 7, you can use the Registry Editor [Hack #83] to edit the Registry. Make sure you take the precautions outlined in that chapter and back up your Registry [Hack #86], no matter how comfortable you are editing the thing.
No single tweak is going to take an ancient PC and turn it into a gamer's dream machine. It's even unlikely that a number of tweaks will achieve substantial performance gains, but every little bit does help. As long as you keep your expectations realistic, you'll learn something about the Registry and hopefully see a performance increase in the process.
12.4.1. Menu Speed
When XP first appeared, there was a lot of conversation about the new interface, both good and bad. In spite of the initial complaints, most users stick with the default settings rather than reverting to the Classic interface found in previous Windows versions. But you might want to change the delay you notice when you click the Start menu. I see no reason for there to be any delay when I click the Start menu. Effects are pretty, but I wouldn't click it if I didn't have business inside, so let's get it open and get moving. The default speed can be adjusted with a quick Registry hack.
Go to the Registry key HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay. The default value is 400. Set it to 0 to remove the delay completely, but if you do that it will be nearly impossible to move the mouse fast enough not to activate All Programs if you mouse over it en route to your final selection. Pick a number that suits your style, make the change, and then test it until you find a good compromise between speed and usability.
12.4.2. Place Windows Kernel into RAM
It's a given that anything that runs in RAM will be faster than an item that has to access the hard drive and virtual memory. Rather than have the kernel that is the foundation of XP using the slower Paging Executive functions, use this hack to create and set the DisablePagingExecutive DWORD to a value of 1.
Edit the Registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive to 1 to disable paging and have the kernel run in RAM (set the value to 0 to undo this hack). Exit the Registry and reboot.
12.4.3. Alter Prefetch Parameters
Prefetching (the reading of system boot files into a cache for faster loading) is a commonly overlooked component that can have a significant impact on system boot time. This tweak allows you to select which components will make use of the prefetch parameters. To see which files are gathered using each setting, clear the prefetch cache located at C:\Windows\Prefetch and then enable one of the settings listed in this hack. Clear the cache and repeat for each setting.
Set the Registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher to 0 to disable prefetching, 1 to prefetch application launch files, 2 to prefetch boot files, or 3 to prefetch as many files as possible.
12.4.4. Disable 8.3 Name Creation in NTFS
Files that use the 8.3 naming convention can degrade NTFS drive performance. Unless you have a good reason for keeping the 8.3 naming convention intact (such as if you're using 16-bit programs), a performance gain can be achieved by disabling it.
Set the Registry DWORD key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation to 1. Exit the Registry and reboot.