Skip to content

Windows XP Optimizations

846windowsxpoptimizeIf you are running Windows XP on older hardware, you might wish to make some of the following adjustments. The optimizations below were gathered over the past decade. These modifications range from simple to dangerous, so proceed at your risk. (Some of these optimizations may be outdated.)

These changes are generally safe:

  • Open up Internet Explorer fast:
    1. Edit the Internet Explorer shortcut.
    2. Add parameter “-nohome” to the shortcut command to force opening up IE with a blank page.
  • Open up the C drive in Windows Explorer by default:
    1. Create or edit the Explorer shortcut.
    2. Use this path and arguments to open up the C drive by default: “C:\windows\explorer.exe /n,/e,c:\”
  • Quickly open the Windows Search Results dialog:
    1. Go to menu Start->Search. The Search Results dialog will appear.
    2. Click on the “Turn off animated character” option on the left menu.
    3. Click on “Change Preferences”.
    4. Click on “Change files and folders search behavior”.
    5. Select “Advanced…” option.
    6. Hit OK
  • Set a fixed size for the Virtual Paging File (potentially reduces hard drive usage):
    1. Open My Computer properties.
    2. Select “Advanced” tab.
    3. Click “Settings” button under “Performance”.
    4. Go to “Advanced”.
    5. Leave “Programs” and “Programs” selected.
    6. Under “Virtual Memory”, click “Change” button.
    7. Select “System managed size” and input the size of the paging file. The initial value is usually 1.5 times memory. Maximum value is 3 times memory. You have greater than 512MB, you can set to 0.5 times memory.
    8. Click OK.
  • Disable Fast User Switching (if you only have one default user):
    1. Go to Control Panel->User Accounts.
    2. Click “Change the way users log on or off”.
    3. Leave the “Use the Welcome screen” check (this is required so Windows won’t prompt for password).
    4. Unselect “Use Fast User Switching”.
    5. Click “Apply Options”.
  • Set DMA Mode on IDE Drives (for fast hard drive transfers):
    1. Open Device Manager (My Computer->Manage).
    2. Go to “IDE ATA/ATAPI controllers”.
    3. Double-click on “Primary IDE Channel”.
    4. Go to “Advanced Settings” tab.
    5. Make sure all “Transfer Mode” boxes have “DMA If Available”.
    6. Repeat for secondary IDE channel, etc.
  • Turn off File Indexing (reduces hard drive usage):
    1. Go to Computer Management (My Computer->Manage).
    2. Go to Services and Applications->Indexing Service->System->Directories.
    3. Double-click on each directory (with yes in “Include in Catalog”):
      • select “no” under “Include in Index?”
      • click OK.
    4. Open My Computer.
    5. Right click on the Hard drive and choose properties.
    6. Uncheck the “Allow Indexing Service to index this disk for fast file searching”:
      • A new window will pop up, choose include folder and subfolders.
      • click OK.
  • Remove built-in support for ZIP files and also prevents Search from looking into compressed files (very slow operation):
    1. Go to menu Start->Run
    2. Type “regsvr32 /u zipfldr.dll”
    3. Optionally, install another zip application like Winzip to take over the extension; otherwise, if you open a zip file, Windows XP will re-register the zipfldr.dll.
  • Improve shutdown speed (by immediately killing applications at shutdown or reducing the wait to kill timeout):
    1. Go to Start->Run and type “regedit”.
    2. Go to “HKEY_CURRENT_USER\Control Panel\Desktop”.
    3. Set the key AutoEndTasks to value 1 to immediately kill applications (without giving time to save) at shutdown.
    4. To reduce wait to kill timeout, change the following:
      • Set “HungAppTimeout” to 8000 (default is 5000).
      • Set “WaitToKillAppTimeout” to 8000 (default is 20000; 4000 if you are brave).
      • Also, go to “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control” and set “WaitToKillServiceTimeout” to 8000 (default is 20000; 4000 if brave).

These changes can be dangerous:

  • Increase System CMOS/realtime clock IRQ priority:
    1. Find out the interrupt that the System CMOS/realtime clock is using by opening Device Manager, System devices, and properties on “System CMOS/realtime clock”.
    2. Click on the “Resources” tab (usually the interrupt is IRQ 8).
    3. Increase the IRQ priority by running “regedit” and going to “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl”.
    4. Create DWORD value named “IRQ#Priority” (where ’#’ is the IRQ number).
    5. Set the value to 1.
    6. Restart Windows.
  • Ensure that L2 Cache is used (Windows XP sometimes doesn’t detect it so we must manually set it):
    1. Run “regedit”.
    2. Go to “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management”.
    3. Adjust “SecondLevelDataCache” to your processor’s L2 cache size (aka 512 kilobytes). (Note: Make sure to use “Decimal” input!)
    4. Tweak Memory Performance by boosting the system cache (if you have 256MB memory or more):
    5. Run “regedit”.
    6. Go to “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management”.
    7. Set “LargeSystemCache” to 1 (default is 0) to boost the system cache (only if you have tons of memory) by telling XP to allocate all but 4MB of system memory to the file system cache. (Note: This option can be accessed under “My Computer->Manage->Advanced->Performance Settings->Advanced->System Cache”.)
    8. Optionally, set “IOPageLockLimit” (create this DWORD value if necessary) to 8-16 MB (value in bytes; if exists, it is usually set to 512KB). This improves Input/Output performance for large file transfer operations (good if running a server).
    9. Restart Windows.
  • Improve NTFS Performance:
    1. Run “regedit”.
    2. Go to “HKEY_LOCAL_MACHINE\SYSTEM\CurrentContolSet\Control\Filesystem”.
    3. Create DWORD entry “NtfsDisableLastAccessUpdate” with value 1 to disable updating the last access time.
    4. Optionally, change “NtfsDisable8dot3NameCreation” DWORD entry to 1 to disable creation of short names (if not supporting MS-DOS or Win 3.x). (Note: If we disable this, some programs like PowerCD and games like Return/Revenge of Arcade will not work!)
    5. Optionally, add “NtfsMftZoneReservation” DWORD entry to reserve the appropriate space for the master file table. If your NTFS volumes generally contain relatively few files that are typically large, set value to 1 (the default). Use a value of 2 or 3 for moderate numbers of files, and 4 (the maximum) if your volumes tend to contain a relatively large number of files. (Note: be sure to test any settings greater than 2 because these higher values cause the system to reserve a much larger portion of the disk for the master file table.)
    6. Reboot Windows.
  • Prevent QoS from reserving bandwidth (Not necessary because if QoS is not used, then bandwidth
    is used by other applications):

    1. Go to Start->Run and type “gpedit.msc”.
    2. Open Computer Configuration->Administrative Templates->Network->QoS Packet Scheduler.
    3. Double-click on “Limit reservable bandwidth”.
    4. Set it to Enabled and the Bandwidth Limit to 0%.
    5. Go to Network Connections.
    6. Right click on your connection and choose properties.
    7. Go to General or Networking tab.
    8. Make sure QoS packet scheduler is enabled.
    9. Reboot Windows.
  • Enable UDMA66 (for faster hard drive I/O):
    1. Run “regedit”.
    2. Go to “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10319}\0000”
    3. Create a DWORD named “EnableUDMA66”.
    4. Set value to 1 to enable (set to 0 to disable).
  • Speed up Diskcache:
    1. Open “regedit”.
    2. Go to “HKEY_LOCAL_MACHINESYSTEM/CurrentControlSet/Control/Session Manager/Memory Management/IoPageLockLimit”
    3. Modify the value in Hex depending on the size of your RAM: For 64M, use 1000. For 128M, use 4000. For 256M, use 10000. For 512M or more, use 40000.
    4. Reboot Windows.

Good luck with turning your old Windows XP machine into a speed demon!

Leave a Reply

Your email address will not be published. Required fields are marked *