14 Sept 2007

Optimizing Windows XP Registry

(1) Define CPU L2 Cache

HKey Local Machine -> System -> CurrentControlSet -> Control -> Session Manager -> Memory Management. At SecondLevelDataCache, set to "2048" at decimal, if you have 2MB Cache

In case L2 Cache is not known, use CPU-Z to find out http://www.cpuid.com/cpuz.php

(2) Improve NTFS efficiency

Hkey_Local_Machine -> System -> CurrentControlSet -> Control -> FileSystem. Add DWORD (32 Bit). Change name to NtfsDisableLastAccessUpdate, set to Hex, change to 1. Reboot

(3) Force to Virtual Memory to use RAM as priority

Hkey_Local_Machine -> System -> CurrentCOntrolSet -> Control -> Sesion Manager -> Memory Management. Change "DisablePagingExecutive" Hex value = 1

(4) Force application to release memory after exit

HKey_Local_Machine -> Software -> Microsoft -> Windows -> CUrrentVersion -> Explorer, right click to add DWORD (32-bit). Rename to "AlwaysUnloadDLL". Change value to HEX 1.

(5) Disable Windows Prefetcher. (Disable pre-read during boot)

Select HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Session Manager > Memory Management > PrefetchParameters. Double-click ‘EnablePrefetcher’ and set Value data to 0 (hexadecimal).

(6) Force to set priority to System Cache (Warning: doing so will slow down normal programs

Control Panel > System > Advanced Tab > Settings Button under Performance > Advanced Tab > Set ‘Memory usage’ to System cache.

(7) Disable Paging File, force application to run at RAM

Control Panel -> System -> Advanced -> Performance Tab -> Settings Button

- Visual Effect -> Adjust for best performance

- Advanced -> Processor Scheduling -> Set to Background Service

- Memory Usage -> Set to System Cache

- Virtual Memory -> Set no paging file at all HDD

- Control Panel > System > System Restore TAB. Tick ‘Turn off System Restore on all…’

- Disable offline files: Control Panel > Folder Options > Offline Files > Untick ‘Enable Offline Files’

(8) Disable System Restore

(9) Lower Display Frequency to 60 Hz, disable

(10) Ensure soundcard doesn’t share Interrupt (IRQ) with other devices. See section 3.4.e.

(11) Windows Kernel changes.

These are low level Windows changes. Sonic improvements are significant giving improved dynamics, transients and harmonics.

Goto Control Panel > System > Advanced TAB > Settings button for ‘Startup and Recovery’. See
figure 39. Press ‘Edit’ button. Notepad is used to edit boot.ini file (hidden system file in root
directory). Make a backup of c:\boot.ini file. TAKE GREAT CARE IN MAKING THESE
CHANGES! Reboot and test system after each change – do not apply all changes at once!

a. /noexecute. Edit entry ‘/noexecute=optin’ OR in rare cases, ‘/noexecute=optout’ to
‘/noexecute=alwaysoff’. Save file. If you get an error, uncheck read only flag in
c:\boot.ini file properties (make sure you set file explorer to show hidden files and uncheck
‘hide system files’). Reboot & test.

b. /timeres=9800. Add this parameter (‘/timeres=9800’) to command line. Windows has 4
timing resolutions ranging from 0.98ms to 7.8ms (default). Lowest timing resolution of
0.98ms for ‘waitable timers’ is set. This setting can is used in multiprocessor systems, i.e.
multiple CPUs (E2140 has 2).

c. /nodebug. Kernel debugger is not initialized.

d. /pcilock. This disables Windows IRQ assignments to PCI devices and forces Windows to
use BIOS settings. This change is NOT recommended for Dell PCs where both
keyboard and mouse functions are lost. In this event, you must remove ‘/pcilock’
command. This is done by installing your boot hard drive in a working computer as a
secondary drive. Alternatively boot from CD or USB. Access boot.ini file using Explorer
and remove entry.

Make sure in BIOS, under PnP/PCI Configurations item PNP OS Installed is set to No.
Otherwise, Windows becomes unpredictable. Should your BIOS not offer this, don’t
add /pcilock.

With all changes, your Windows command line in boot.ini file should look like this:
...
...WINDOWS="Microsoft Windows XP Professional" /noexecute=alwaysoff /fastdetect /timeres=9800 /nodebug /pcilock

1 comment:

Ivo said...

Hei,have you ever tried "nlite" method?