<A HREF="http://ad.doubleclick.net/jump/xtrm.dart/home;abr=!ie;sz=468x60;ord=8207513690?" TARGET="_top">
<IMG SRC="http://ad.doubleclick.net/ad/xtrm.dart/home;sz=468x60;ord=8207513690?" border="0" height="60" width="468" hspace="5">
</A>

Optimize Windows XP

December 6,
2001
By: Joel Durham Jr.

Is XP the fastest version of Windows ever? That's debatable, but
this is not: like every operating system that came before it, it's
not as fast as it could be without a whole bunch of fine-tuning.

Windows operating systems are never streamlined by default. Part
of the reason is that their install base is huge--many times that of
any other operating system (in fact, probably every other operating
system combined). No matter how well polished and optimized any
Windows OS may be, Microsoft must balance performance with ease of
use and across-the-board compatibility.

Therefore, Windows XP makes quite a few assumptions about how
it's going to be used. Its aesthetics are designed to give the GUI a
warm, friendly appearance, but effects like drop shadows and fading
menus slow the OS down ever so slightly. Failsafe tools like System
Restore can make recovering from crashes and incompatibilities
easier, but they eat up disk space and their quiet work in the
background requires processor clock cycles.

Windows XP also activates a whole batch of services that you may
or may not need, depending on how you use your computer.
Streamlining your system's pool of processes can expedite the OS's
startup and save some clock cycles for foreground applications.
Likewise, common commercial software like Quicken, Microsoft Office,
and others load their own background applications that eat up system
memory and monopolize the processor.

If you spend a few minutes eliminating applets and services you
don't need, and are willing to sacrifice some of XP's visual
goodies, you can noticeably improve game and application performance
on an XP box. XP itself even helps by optimizing its file system
based on your computing habits, and Microsoft provides a few
hands-on applets to speed up the optimization process.

Many of the optimizations we present here will require registry
editing or employing other system-altering modifications. You'll
need administrative privileges on the machine in question. Before
proceeding, you should disable any antivirus and security programs
you may be using and make backups of critical data onto removable
media.

Windows XP is highly customizable. Microsoft took care to make a
great deal of its tweaks easily accessible to users of any
experience level. Experimenting with them and getting your hands
dirty is the best way to find your personal sweet spot in the mix of
eye candy and system performance.

Windows XP's Built-In
Optimization

Of everything you can do to optimize Windows XP, one of the
simplest is just to use it. As you launch and exploit applications,
Windows observes your behavior and updates a dynamic file called
Layout.ini. After every three days, when it senses that the computer
is idle, it rearranges the locations of programs on the system hard
drive to optimize their launch and execution.

XP also speeds up and the boot process and optimizes the launch
of programs by using prefetching. Windows observes the code and
programs that are used immediately upon bootup and creates a list of
data to prefetch very early in the boot process. Similarly, as
individual programs are launched, Windows keeps track of different
files and components are accessed. The next time the application is
accessed, Windows prefetches the necessary items to expedite the
application's launch.

The prefetch optimizing code exists both within the XP kernel and
the task scheduler service. The kernel keeps track of pages that are
referenced by a given process immediately after the process is
created. The service transforms the recorded pages into prefetch
instructions for that process. The next time the process is created,
the kernel executes the prefetch instructions, speeding up the
creation of the process.

Disk optimization and application/boot prefetching work in
tandem. That is, when XP optimizes file system for faster program
access, the data it recorded for the application and bootup prefetch
processes is factored in to determine optimal file placement on the
disks.

Eye Candy Tweaking

Icons and Wallpaper
A tidy desktop
is an efficient desktop. Your system's memory and CPU have better
things to do than toy with pretty backgrounds and sort out
eighty-five desktop icons. As is the case with previous versions of
Windows, excessive desktop icons and desktop wallpaper take up their
share of system memory, and they're constantly refreshed by the
graphics subsystems. Animated desktops are particularly hard on a
system's core resources.

On the other hand, the performance hit leveraged by such minor
glitter is minimal, so as long as your system has more than 128MB of
RAM and a semi-modern processor (something in the range of 600MHz or
faster) then don't worry too much about icons and wallpaper.
However, if you're limping along with 64MB of RAM on a 200MHz
Pentium Pro, then every clock cycle is critical. Lose the fluff.

Cut Down on the Effects
With its
smarmy new look and its GNOME-like skinning ability, Windows XP has
even more eye candy than any previous version of Microsoft's
operating systems. Menu transitions are animated, dialogs and mouse
cursors have shadows, screen fonts are tweaked for maximum
readability, and so on.

All of the visual splendor can degrade the responsiveness of the
user interface. XP runs a few tests to auto-configure its GUI
settings for a mix of beauty and usability, but its decisions are
easily overridden. If fading menus are more annoying than eye
catching, and dialog box shadows don't mean squat to you, experiment
with the settings to your heart's content.

Some of the settings are accessed through the Appearance tab on
the Display Properties, which you can evoke by right-clicking on an
empty area of the desktop and selecting Properties. Click on the
Effects button and you can tweak the menu transitions, shadows and
font properties--including Microsoft's swarthy new ClearType
smoothing technique, which is available in the second pull-down box.
To me, it makes screen fonts look wonderful on laptop and flat-panel
monitors, but I find it to be a tiny bit blurry on traditional CRT
screens. Note that some people find ClearType to be less appealing
on their laptops and flat panels than the standard fonts. Try it for
yourself.

You can further tweak GUI performance through the System
Properties tool. Open it through Control Panel or by right-clicking
on My Computer and selecting Properties. Choose the Advanced tab.
Radio buttons let you optimize for visuals and performance, or you
can customize your mix from a list of check-boxed visual effects
options

Click on the Advanced tab of the Performance Options dialog and
ensure that processor scheduling and memory usage are configured for
programs--you'll only want to configure them for background services
and caching if the PC in question is a server. This is also where
you can specify the size and location of your system's paging file.
Windows XP does an excellent, efficient job of managing its own
paging file, and extensive testing on our part has shown no
advantage in synthetic or gaming benchmarks to manually overriding
XP's paging file handling.

Fast User Switching and Automatic
Updating

Fast-User Switching
Available on
XP Home Edition and on Professional when it's not part of a domain,
fast user switching lets users of the same computer switch between
accounts without logging off. It's a great feature when Mom, Dad and
the twins all share the same computer, but keeping multiple user
accounts active is a burden to a PC's memory usage.

When more than one user is logged on, each user's settings remain
active and the programs activated through his or her account remain
open--even if someone switches to another user account. Sally left
Word, Excel and Barbie Fashion Designer open and Bobby comes along,
switches over to his account and attempts to play Red Faction, he
will notice a definite degradation in performance compared to the
last time he played it when Sally wasn't logged in.

Windows XP automatically disables fast user switching during
installation if the computer has 64MB of RAM or less. For best
performance, make sure only one user is logged in at a time, and if
that becomes a nuisance, disable the feature altogether: go to
Control Panel\User Accounts, click the "Change the way users log on
or off" button, and uncheck "Use Fast User Switching".

Automatic Updating
You should
always keep Windows up to date with the latest security fixes,
DirectX versions, compatibility patches and other updates. By
default, XP will do this for you--but this requires a small program
to run in the background and occasionally check, or remind you to
check, for Windows revisions.

If you'd rather handle the task of updating Windows yourself, you
can tell XP not to bother. Head to the Automatic Updates tab in the
System Properties tool. You can elect to have Windows detect and
download updates automatically, to have the OS check for updates and
notify you when they are available, or not to do anything.

System Restore, Defragging, and Clutter
Removal

System Restore
System Restore is
actually a very handy application that, unless you use your PC
expressly for high-performance tasks like gaming, you should
probably leave alone. It creates periodic snapshots of your critical
system files (like the registry files, COM+ database, user profiles,
and such) and stores them as a "restore point." Should you install
an application that hoses your system, or if something important
gets corrupted, you can revert the computer to the state it was in
at a restore point and go on happily using it.

Restore points are automatically created by the System Restore
service upon several events, such as when a new application is
installed, a Windows update is applied, an unsigned driver is
installed, or some other event occurs that could have a negative
effect on the operating system. You may create manual restore points
through System Restore's main interface, which you can access
through Start\Programs\Accessories\System Tools\System Restore.

System Restore does require a service to run in the background
that has a minimal performance impact, and its recorded backups take
up hard drive space. You can control how much space it's allowed
(which affects how many restore points it can create), and shut it
down entirely, through the System Restore tab in the System
Properties tool.

The System Restore dialog lists each active drive partition. You
can adjust the percentage of space that System Restore is allowed to
work with on each one. There's also a checkbox that allows you to
shut down System Restore entirely for all drives.

System Restore can adversely affect application benchmark
software, and might operate during active test periods, so test labs
routinely disable System Restore under XP and Me before testing, and
you should too when running benchmarks.

Defrag Regularly
DOS and non-NT
versions of Windows do very little to keep their file systems
optimized. Huge gaps of free space open up in various areas of the
hard drive as programs and files are installed and removed; later,
other files are written starting at the first block of free space,
filling the gaps in order by sector and ending up scattered in
pieces all over the drive. When an operating system has to access
several different areas of a hard disk just to load a single file or
program, performance is severely degraded.

NT kernel operating systems, like Windows XP, take measures when
used with the NTFS file system to keep hard disks contiguous--but
fragmentation still does occur. Therefore, you should defrag your XP
hard disk(s) on a regular basis depending on how much file juggling
you do on your PC.

If you install and remove programs frequently, or if you're
constantly creating, moving and deleting data files, you should
defrag the drive as often as once per week. If, however, you tend to
use the same applications for long periods of time and you don't
move files around too often, you can get away with defragging your
drives less frequently, as seldom as once a month.

If you defrag your hard disks often enough, you won't notice a
change in performance immediately after defragging. That's a
good thing. If your computer is noticeably more responsive
right after defragging, you've let it go too long.

Purge Unneeded Background
Clutter
As with Windows 9x operating systems (and when we
say 9x, we mean Windows 95, 98, 98SE and Me, which is a
Windows 9x kernel OS), programs that run needlessly in the
background degrade the performance of foreground applications and
games. TSRs hog system memory, increase page file swapping, and
monopolize the CPU for tasks that aren't particularly necessary.

You can see what's going on in the background by launching the
Task Manager, which is invoked by simultaneously pressing CTRL, ALT
and DEL. Unlike Windows 9x, XP differentiates between active
end-user applications and system processes. Click on the Processes
task to see a list of system processes and TSRs floating around
behind the curtain. You can also shut down programs and processes
from here, which you'll occasionally want to do if something hangs
up on you.

You'll recognize some of them straight out. If you're running an
antivirus program, for example, you'll see its background process
listed. You may see processes that do everything from configure your
mouse (like the ubiquitous EM_EXEC.EXE) to the default Windows shell
EXPLORER.EXE.

If you're a 9x user, some of the processes will be totally
unfamiliar. SERVICES.EXE, WINLOGON.EXE, SYSTEM, and others. Services
are discussed below.

MSCONFIG

Like versions of Windows 9x, from 98 on, XP contains the System
Configuration Utility (or SCU). Invoke it by running MSCONFIG at the
Run command line. It's great for experimenting with startup
applications.

The SCU main interface contains several tabs that allow users to
selectively and non-permanently alter several startup parameters.
The first two, SYSTEM.INI and WIN.INI, are included for the purpose
of legacy compatibility; there's very little chance you'll ever need
to tweak them.

The BOOT.INI tab lets you play with the file that defines how
Windows XP boots. The entire file is displayed in a text box in
which you can select individual lines, which in turn you may be able
to alter through checkboxes, but there's little advantage in doing
so unless you're troubleshooting something.

The Services tab lets you check and uncheck XP services, but
there's a better way to go about enabling and disabling them that
we'll get to later.

Under the Startup tab, you'll find a listing of each program
that's called to start after Windows XP is booted up. It's here that
you can disable things that you suspect are unnecessary, such as
Microsoft Office's TSR, Quicken Agent, launchers employed by
multimedia programs like RealPlayer and WinAmp, and other such
nonsense. The beauty of the SCU is that disabled items aren't
permanently deleted: you can uncheck particular components, reboot,
and then test your applications and hardware. If you determine that
something has ceased to function, you can fire the SCU back up,
recheck the box next to the startup item in question, and reboot.

You can often improve system performance vastly by experimenting
with the SCU and eliminating everything that isn't absolutely
necessary. Once you've determined a particular startup item to be
useless, you can purge it from wherever it's being called by
checking its location in the SCU listing. Items shown to be in
"Common Startup" are called through the Start Menu's Startup
group--delete their icons and they won't be launched anymore.

Items launched via the registry can be purged through the REGEDIT
program (after, of course, you've carefully backed up the registry
in case you accidentally alter something critical). They're most
often located
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
key. Simply delete their values to prevent them from being launched
on subsequent Windows boots.

Services

Entire articles and even books have been written about
managing services, and we can't explain every nuance and aspect of
them here. If you're unsure about a particular service, don't alter
it.

Services are generally considered important components of
operating system code that provide functionality for various
hardware, applications, tasks, and so on. Of course, you shouldn't
attempt to disable core operating system kernel processes and
related services that manage process scheduling, interrupt handing,
file management, virtual memory management, etc. But in our context,
there are many less critical services, invoked by default, layered
atop or working alongside the core operating system services that
may be disabled or modified to improve system responsiveness or
performance, without serious side effects.

You can launch the Services control applet either through Control
Panel/Administrative Tools/Services (if using the "classic view" of
the Control Panel, or look within the Performance and Maintenance
section when using the new "category view" of the Control Panel), or
by running SERVICES.MSC from the Run command line.

You'll see a list box that contains every service available to
user modification in your Windows XP configuration. Each entry
contains a description of the service (which you can view in better
detail by clicking on the service in question), its status (whether
it's been started or not), its startup type (automatic, manual or
disabled), and the user account with which the service logs on to
the computer (unless you're far too advanced a user to benefit from
this article, don't change this).

Services whose startup setting is Automatic will start when
Windows starts. Manual services can be started by the user or if a
dependant service (a service that cannot function without another
service) is invoked. Disabled services won't start at all.

For pure performance, you can stop a number of services and/or
set them on manual. Don't disable a service unless you're
absolutely sure that no other services or hardware needs it.

For example, if you've disabled System Restore, you can stop its
service and set it on manual. If you don't record CD-Rs, you can do
the same to the IMAPI CD-Burning COM service. The Portable Media
Serial Number service is pretty much useless, so feel free to set it
on manual (or disable it if you don't have a portable music player).
If you don't do any printing, shut down the Print Spooler service.
Most users can set the Help and Support service on manual (advanced
users may want to disable it). If you don't use themes, turn off the
service.

Experiment with stopping other services cautiously. You may never
need services like Telnet, Error Reporting, Task Scheduler (which is
different than the core operating system process scheduler, and
operates at the user application level), Indexing Service, Fast User
Switching, ClipBook, Distributed Transaction Coordinator, Internet
Connection Firewall/Sharing (ICF/ICS), and others. If you're unsure
about a particular service, leave it alone. Point of
clarification - forum member MURDOCDV reminded us that the Task
Scheduler is used in auto-tuning operations - it assists in the
creation of prefetch information for prefetching disk-resident code
and data (as we alluded earlier), so it's NOT a good idea to disable
the Task Scheduler. Thanks MURDOCDV!

You can find out more about each service, including any dependent
services or services upon which it depends, through its
property sheet.

Some systems are delivered without MSCONFIG. A handy alternative
(and one that looks for startup files in more places than MSCONFIG)
is the free PC Magazine utility, Startup Cop. You can download it here.

click on image for full
view

Other Handy Tweaks

Prioritize!
The task manager (that
CTRL-ALT-DEL dialog) lets you do more than observe what's clogging
up your memory and shut down frozen apps. Invoke it and select the
Processes tab, and right-click on any process.

One of the options in the context menu is Set Priority. With it,
you can set the processor priority of any and all of the
applications and processes currently running. It's wonderfully handy
if you're working with a system hog like Photoshop and, despite your
desire to occasionally check your email and surf the web, you want
it to command a majority of your PC's computing power. Or, if you're
engaging in a heavy, temporary task like burning a CD, compiling
code in Visual C++, or rendering objects with 3D Studio Max, give
that process high priority to prevent Windows from letting other
applets' petty needs prolong the task.

Uninstall "Hidden" Windows
Components
Apparently, Microsoft didn't want you to be
able to remove useless garbage like Windows Messenger. It's
installed by default, and it doesn't appear in the Add/Remove
Program applet in Control Panel.

Thankfully, you can force the issue by editing the SYSOC.INF
file, which is located in the C:\WINDOWS [or your Windows XP
directory]\INF folder. Open it with Notepad.

Under the [Components] heading, you'll see a whole bunch of
parameters for various Windows applets. Some of them contain the
word "hide." Those particular programs, which include Windows
Messenger (msmsgs), Terminal Server, Pinball, and others, are
installed on your XP system, but their entries are hidden from and
Add/Remove dialog.

To remove Windows Messenger, edit hide out of the line that reads

msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,hide,7

so that it looks like this:

msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,7

Save the file, close it, and open the Add/Remove Program applet.
Click on Windows Components button and you'll see Windows Messenger
listed. Uncheck it and click Next to purge that silly program from
your system.

Feel free to edit hide everywhere it appears in the
SYSOC.INF file to reveal other removable Windows XP components.

Offer DMA To All Your ATAPI
Drives
By default, slave drives on ATAPI channels are
often set to PIO mode--even when the device attached is capable of
much more efficient UltraATA (or DMA) mode data transfers. This can
hurt the performance of ROM burners, DVD movie playback, and other
drive functions. Plus, DMA mode data transfers require much less CPU
overhead than PIO-mode transfers.

You can set this atrocity straight through the Device Manager.
Open the System Properties dialog and select the Hardware tab. Click
the Device Manager button. Expand the entry for IDE/ATAPI
controllers. Select the primary channel and click on Properties, and
then choose the Advanced Settings tab. For each device listed,
change the transfer mode to "DMA if possible." Don't worry; devices
that aren't capable of DMA mode will still work just fine. Repeat
the process for the secondary channel.

Use a Tweak Utility

Even though XP offers a wealth of ways to tinker with its
settings, Microsoft kept some of the nitty-gritty hardcore tweaks
undocumented, with the only way to change them being to dig deep in
the registry, experiment, and hope for the best. Don't bother,
though, there's a better way: Tweak-XP is
a full-featured shareware utility that gives users access to a vast
range of configurable options, from minor GUI adjustments to
performance-affecting cache and memory tweaks. The program is fully
functional for 50 executions, after which you must register for
$29.95 to continue using it.

Upon installation, Tweak-XP creates a system restore point so
that should you hose your system with it, you can recover quickly.
Its little interface is divided into four tabs, offering several
pages of shortcuts and tweaks for system performance options,
desktop tweaks, Internet connection streamlining, security tweaks,
and so on. Most of the tweaks offered are easily adjusted through
checkboxes and sliders, and some are explained in Tweak-XP's help
file--although the program would benefit with more thorough
descriptions of its functions.

While a discussion of Tweak-XP's entire feature set would fill a
book, we can recommend a few quick enhancements in its System
Performance section to speed up general Windows performance:

If you have 512MB of RAM or more, experiment with the Core
System Performance checkbox on the Cache Optimization page. This
option forces XP's core code into memory and prevents it from
being paged to a swap file. Most general operations will be more
responsive with this option checked, but if you run several big
programs simultaneously you may find the amount of paging actually
increases, because the OS kernel takes up RAM that would otherwise
be used for your applications.

On the same page, select the cache optimization setting
according to the guidelines. This changes the IOPageLockLimit
registry value, allowing more physical RAM to be used for I/O
caching and therefore increasing disk performance.

Under Hardware Tweaks, select your system's CPU from the list.
Then, click on the CD/DVD Tweaks button and use it to optimize the
CD-ROM read-ahead cache size (set it at "large" unless your PC has
less than 64MB of RAM--which isn't officially supported by XP per
MS documentation anyway--and we haven't tried to run XP in less
than 128MB). Tweak-XP claims to implement unspecified tweaks for
various graphics card chipsets, but our testing didn't reveal any
in-game frame rate changes after using this feature.

Before you launch a large program such as a game, a
spreadsheet or a graphics suite, use Tweak-XP's RAM optimizer to
reorganize your computer's memory and clear up unneeded data. Be
sure to fill in the "Clear the clipboard on every optimization"
checkbox.

click on image for full
view

click on image for full
view

click on image for full
view

Stay Tuned
Windows XP is brand
new. More optimizations are sure to be discovered and revealed as
the OS reaches a wider install base. Watch ExtremeTech.com, the
sites listed below, and your favorite hardcore tech sites for more
XP goodness!

Online Optimization Resources

In researching this article, I found excellent information at the
following sites:

TweakXP (http://www.tweakxp.com/tweakxp/):
Affiliated with the Tweak-XP utility discussed above, this site is
dedicated to helping users get the most out of Windows XP. Most of
the data is raw and lacks sufficient explanation, but the site is
updated frequently with tips and tweaks of all natures.

Windows Guide Network (http://www.winguides.com/):
Great stuff about security, registry editing, tweaking third party
apps, and more can be found here.

TweakTown (http://www.tweaktown.com/):
One of the first sites to post a complete XP tweaking guide,
TweakTown is full of genuinely useful information for all manner
of hardware and technical stuff.

Bink Windows XP (http://www.windowsxp.nu/): Its
scattershot approach to good information and fluff produces some
great nuggets of info. This site also has a huge list of
XP-related links.

Microsoft TechNet Online: (www.microsoft.com/technet/):
More WinXP stuff is appearing every day, in very raw technical
form.

XP PowerToys (www.microsoft.com/windowsxp/pro/downloads/powertoys.asp):
The latest token PowerToys collection.

Copyright (c) 2002
Ziff Davis Media Inc. All Rights Reserved.