Tweak Windows XP for optimum performance

Windows XP's visual effects and services can bog your system down, but you can boost performance by changing the settings in the Performance Options dialog box. Greg Shultz describes how to tweak these settings to better meet your system's needs.

When you’re troubleshooting performance problems with network-based applications running on Windows XP Professional, you’ll want to begin with the settings found in the Performance Options dialog box. These settings, which are hidden deep within Windows XP’s System Properties, provide a host of options that allow you to fine-tune the operating system’s overall performance and, thus, its interaction with various applications. These options allow you to adjust Windows XP’s processor scheduling, memory usage, and virtual memory, as well as its use of visual effects. In this Daily Drill Down, I’ll explore in detail how the settings in the Performance Options dialog box affect Windows XP’s overall performance, and how you can boost performance by changing these settings to suit your system’s needs.

Getting started
Once you’ve identified a performance-related problem, you can launch your troubleshooting expedition in the Performance Options dialog box. To access this dialog box, open the Control Panel and select the Performance and Maintenance category. Next, click the System icon to open the System Properties dialog box (if you’re using the Control Panel’s Classic view, you’ll just have to click the System icon). Select the Advanced tab, and then click the Settings button in the Performance panel. You’ll then see the Performance Options dialog box shown in Figure A.

Figure A
The Performance Options dialog box provides access to settings that can enhance Windows XP’s performance.

As you can see, the first tab in the Performance Options dialog box is titled Visual Effects, and it’s here that you can adjust almost all of Windows XP’s visual features. If you click the Advanced tab, as shown in Figure B, you’ll see additional settings from three categories—processor scheduling, memory usage, and virtual memory—that you can adjust to fine-tune operating system performance.

Figure B
The Advanced tab gives you access to some heavy-duty performance tuning options.

Adjusting the visual effects
As you’ve probably noticed, by default Windows XP enables almost all of its fancy visual effects, such as fading menus and shadows. These visual effects can take a toll on performance. When an application running in Windows XP appears to bog down, you can often trace the problem to an overload of visual effects. Fortunately, the Visual Effects tab offers several ways to adjust Windows XP’s use of these effects.

On most of the Windows XP systems that I’ve worked with, the default setting for visual effects is Let Windows Choose What’s Best For My Computer. Under this setting, Windows XP analyzes your video subsystem and determines which of the numerous visual effects your system is capable of handling. In most cases, the operating system enables almost all of the visual effects. However, what’s good for the operating system may not be good for the applications.

Selecting the Adjust For Best Performance option clears all of the check boxes in the list box, thus disabling all of the visual effects. While this may seem like a drastic approach, sometimes it’s just what you need to improve performance. Should you prefer something a little less drastic, you can select the Custom option. You can then choose from the various visual effects until you find a compatible mixture that provides a speedy yet visually appealing environment. As you scroll through the list of the various visual effects, you’ll find that each one is aptly titled to let you know exactly what the setting enables or disables. The effects are:
  • Animate windows when minimizing and maximizing.
  • Fade or slide menus into view.
  • Fade or slide ToolTips into view.
  • Fade out menus after clicking.
  • Show shadows under menus.
  • Show shadows under mouse pointer.
  • Show translucent selection rectangle.
  • Show window contents while dragging.
  • Slide open combo boxes.
  • Slide taskbar buttons.
  • Smooth edges of screen fonts.
  • Smooth-scroll list boxes.
  • Use a background images for each folder type.
  • Use common tasks in folders.
  • Use drop shadows for icon labels on the desktop.
  • Use visual styles on windows and buttons.

Another access point
You can also access an abridged version of the visual effects settings from the Appearance tab of the Display Properties dialog box. When you click the Effects button you’ll see the Effects dialog box, as shown in Figure C.

Figure C
The Effects dialog box provides access to some of the most common visual effects.

As you can see, the Effects dialog box combines some of the most common visual effects and provides access to a few others. For example, you can enable and disable the use of large icons on the desktop and on the Start menu.

Processor scheduling
The two options in the Processor scheduling panel allow you to control how Windows XP allocates processing power. As you saw in Figure B, the default setting in the Processor Scheduling panel is Programs, which basically configures Windows XP to focus the bulk of the processing power on the task, or program, that is running in the foreground. The Programs setting configures Windows XP to distribute processing power time slices among all running applications in short, variable-length bursts, and the program or task that is running in the foreground gets bigger time slices than those programs or tasks running in the background.

Now, if you have an application that primarily runs unattended and performs the bulk of its operations in the background, you can improve its overall performance by configuring Windows XP to evenly distribute the processing power between the foreground and background tasks. To do so, select the Background Services option. Windows XP will distribute processing power among all running applications in long, fixed-length time slices.

Memory usage
The two options in the Memory usage panel allow you to control how Windows XP manages the use of available memory and system/disk caching. Here, the default setting of Programs makes more of the actual RAM in your system available to your applications by setting aside only 4 MB of RAM for disk caching.

For most situations, the default setting will be sufficient. However, if you discover that your applications are running sluggishly and you have at least 256 MB of RAM, you may want to experiment with the System Cache setting.

When you choose the System Cache setting, Windows XP allocates all but 4 MB of the available RAM to the system cache. The big performance gain here is brought on by the fact that this setting allows the operating system kernel to completely run in memory. Furthermore, having a larger system cache can, in many cases, improve the performance of an application by providing quicker access to multiple files.

It’s important to note that while the System Cache setting initially grabs a majority of RAM for the cache, it’s designed to dynamically manage the memory. So if another application needs some of the memory allocated to the system cache, Windows XP will make the needed memory available to the application.

A note on the System Cache setting
Enabling the System Cache setting actually enables the Large System Cache setting in the Windows XP registry. Thus, you don’t need to manually change this setting by editing the registry, as you may have done in Windows NT or Windows 2000.

Virtual memory
Of all the settings in the Performance Options dialog box, Windows XP gives you the most control over virtual memory. To help you understand the options that Windows XP makes available in the Virtual Memory dialog box, I’ll go into the virtual memory concept in a bit more detail.

Some background on virtual memory
Windows XP uses virtual memory to simulate more RAM than physically exists in your system. When you launch an application, Windows XP loads that application into RAM. If you load several applications at the same time, all the running applications must share the same RAM. However, as you can imagine, running all those applications together will require more RAM than is actually in your system.

In order to manage this situation, Windows XP monitors each application’s use of the available RAM and locates sections of memory that are allocated to an application but aren’t currently being used. Windows XP then moves, or swaps, these inactive sections from RAM and temporarily stores them on the hard drive in a file called the paging file.

When those sections of memory are needed by their applications, Windows XP retrieves them from the paging file and places them back in RAM. Of course, to do this, Windows XP will most likely need to move other memory sections of other applications from RAM to the paging file. As you can imagine, this swapping process is continuous when you use several applications at the same time, and it can be a big drag on overall system performance.

Page pooled memory
It’s important to note that Windows XP uses a new virtual memory scheme in which it divides the physical RAM in your system in two sections—page pooled and nonpage pooled. In this scheme, the nonpage-pooled section contains crucial operating system and application files and is never sent to the paging file. Of course, anything in the page-pooled section can be swapped out to the paging file as needed.

Altering virtual memory settings
The Virtual Memory panel displays the size of the current paging file. To make changes to the paging file, click the Change button to display the Virtual Memory dialog box shown in Figure D.

Figure D
Of all the performance settings, Windows XP gives you most control over virtual memory.

In the Total Paging File Size For All Drives panel of the Virtual Memory dialog box, the Recommended size for the paging file is based on a formula that multiplies the total amount of physical RAM in your system by 1.5. As you can see on this example system, which has 512 MB of RAM, the Recommended size for the paging file is 766 MB.

Paging file size
Simple math will tell you that this value should be 766 MB, which is indeed the amount being allocated, but due to the way that Windows allocates memory, only 511 MB is actually available to the system. Thus, 766 MB is listed as the recommended size. You’ll also notice that Windows XP specifies a minimum value of 2 MB—Microsoft strongly recommends that you not set the initial size lower than that value.

To improve system performance by adjusting virtual memory settings, you can increase the size of the paging file, or you can move, or spread out, the paging to other physical hard disks.

Increasing the size of the paging file is easy: Simply enter a larger number in the Initial Size text box. Then, double that figure and enter it into the Maximum Size text box. To enable the new paging file, just click the Set button.

The best performance increase will come from moving the paging file from the C drive to another hard disk. Of course, this requires more than one hard disk in the system. Keep in mind that you won’t boost performance by placing the paging file on another drive partition on the same hard disk.

The performance boost from moving the paging file to another hard disk comes from the fact that while one hard disk is handling operating system functions, the other hard disk can simultaneously handle paging file requests. To move the paging file, select the C drive in the Drive list. Then, select the No Paging File option and click Set. Next, select the other hard disk in the Drive list. Then, select the Custom Size option, type the appropriate values in the Initial and Maximum size text boxes, and click Set. When you click OK, you’ll be prompted to restart your system.

Use an old hard disk for your paging file
Finally, if you’re like most IT folks, you probably have a bunch of old hard disks sitting in a box in the back room. These old hard disks aren’t viable for today’s operating system and software disk requirements, but they’re perfect for a paging file. Just add the hard disk to your system as a slave, format it, and configure Windows XP to use it for the paging file.

About Greg Shultz

Greg Shultz is a freelance Technical Writer. Previously, he has worked as Documentation Specialist in the software industry, a Technical Support Specialist in educational industry, and a Technical Journalist in the computer publishing industry.

Editor's Picks

Free Newsletters, In your Inbox