Tip and trick: Registry Hacks to Speed Up XP

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 may want to change the delay you notice when you click on the Start Menu. I see no reason for there to be any delay when I click on the Start Menu. Effects are pretty, but I wouldn't click on 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, then test it until you find a good compromise between speed and usability.

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.

Note: Perform this hack only if the system has 256 MB or more of installed RAM!

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 of the settings, 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.

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.

Post a Comment

3 Comments

Anonymous said…
All your Prefetching information are Myths:

http://mywebpages.comcast.net/SupportCD/XPMyths.html
Anonymous said…
Have u tried my tips? Or just read ur 'dot net' article?
Andrew K said…
The Prefetch folder is NOT a cache. I've tested this extensively. You want sources and proof here:

Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS
http://msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/

Kernel Enhancements for Windows XP
http://www.microsoft.com/whdc/driver/kernel/xp_kernel.mspx

Windows XP Performance
http://www.microsoft.com/technet/prodtechnol/winxppro/evaluate/xpperf.mspx

Benchmarking on Windows XP
http://www.microsoft.com/whdc/system/sysperf/benchmark.mspx

Windows XP Professional Resource Kit
http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c28621675.mspx

http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/Fast%20System%20Startup%20for%20PCs%20Running%20Windows.doc


EXPERTS:

Ryan Myers - Windows Client Performance Team

Misinformation and the The Prefetch Flag
http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx


Ed Bott - Author Widows XP Inside Out

One more time: do not clean out your Prefetch folder!
http://www.edbott.com/weblog/archives/000743.html

Beware of Bogus XP Advice
http://www.edbott.com/weblog/archives/000024.html

Tip of the day: Don’t clean out the Prefetch folder
http://www.edbott.com/weblog/archives/000619.html


Mark Russinovich - Author Windows Internals

http://www.microsoft.com/MSPress/books/6710.asp



Testing Boot Prefetching:


The following on a default installation of Windows will be done by Windows automatically at some point, however to confirm that the Prefetcher is enabled and Windows is optimized on a system where it might have been disabled these steps are necessary for uniformity in testing. You must be using a default install of Windows and not one that used Nlite which can permanently break the prefetcher


1. Make sure the following Services are set to Automatic:
-Task Scheduler (It is by default but many people and bad tweaking programs disable it)
-COM+ Event System


2. Make sure the following Registry Key is set to 3: (Again it is by default but many people and bad tweaking programs disable it)

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Name: EnablePrefetcher
Type: REG_DWORD
Value: 3


3. Reboot and make sure in the \Windows\Prefetch folder the following files are present:
-NTOSBOOT-B00DFAAD.PF
-Layout.ini


4. Reboot Windows 3 more times and DO NOT install or change anything that would load during Windows Startup during any of this. This will insure that prefetching is 100% complete.


5. Download and install Bootvis. (Without using Bootvis you would have to wait 3 or more days for this optimization to happen automatically.)


6. In the menu go to "Trace", select "Next Boot and Driver Delays". A "Trace Repetitions" screen will appear, select "Ok" and Reboot. Upon reboot, BootVis will automatically start, analyze and log your system's boot process. When it's done, in the menu go to "Trace" and select "Optimize System" and Reboot. This time when your system comes up, wait until you see the "Optimizing System" box appear, continue to wait until the process is complete.

Now your Boot time is optimized and Prefetching should be properly enabled.

7. Time Windows boot with complete accuracy using Bootvis. Run another Trace and reboot. Now when Windows finishes loading the Bootvis tool you will see a time at the top of the Window that represent your optimized Boot time. Write this down.


8. Delete the ntosboot-b00dfaad.pf file in the \Windows\Prefetch folder. (This is never recommended except for these tests)


9. Time Windows boot again using Bootvis. Run another Trace and reboot. Now when Windows finishes loading the Bootvis tool you will see a time at the top of the Window that represent your unoptimized Boot time. Write this down.


10. Compare the times.


Anyone can easily test this themselves and see for themselves how important the Windows Prefetcher really is. Again you must be using a default non Nlite installation of Windows. Using programs like Nlite can permanently break the Windows Prefetcher.