Tuning up the Wow

Sep 15, 2007 13:04 GMT  ·  By

Windows Vista is a resource hog. Microsoft?s latest operating system will swallow every last bit of hardware resources you throw at it in the race for a top user experience, a concept synonymous with high performance. And yet, there are scenarios in which Vista will eat away CPU cycles, huge amounts of random access memory, completely hug a ReadyBoost USB device and still underperform. The operating system will choke even on the most common of tasks, abandoning the user to slowdowns in system performance and to unresponsive processes catalyzed by nothing more than routine and mundane actions. No doubt, Vista has a few rough corners in terms of reliability and performance, but there are a few solutions available, until Microsoft delivers the first Service Pack in 2008.

1. Hardware

Is there something you can do beforehand to boost Windows Vista performance? Well, of course there is. Build or choose a hardware architecture to tailor fit the resource-hungry operating system. If you can buy a new system along with the platform, or if you can upgrade, do it. We have all seen the minimum Vista system requirements, and they are completely unrealistic. I mean, 800 MHz 32-bit or 64-bit processors, together with 512 MB of RAM, with at least 448 MB of system memory that has to be available to the operating system before the rest up to 512 MB is allocated to an on board graphics solution, DirectX 9 graphics card with 32 MB of graphics memory and a 20 GB hard disk will deliver only minimum performance.

You'll say that Microsoft recommended the system configuration. Indeed. And Vista will work, no doubt about it, but it will do it so poorly that you won't be able to use the term performance in relation to whatever Vista will be doing on your machine. Feeling masochistic? Then by all means, degrade your experience to an all possible low with the minimum system requirements for Vista. Otherwise...

Vista's performance is in fact based on the sum of several classes of hardware. The CPU, RAM, hard disks, ReadyBoost flash devices, Graphics and Battery (on mobile PCs) are all interconnected and will affect the end results of the operating system. If you really want Vista to put on a show, you will feed it accordingly. But do not make the mistake of ignoring some hardware resources over others. Performance is an equilibrium between the system's components; sticking with a 4 GB Flash drive will do close to nothing if you only have just 512 RAM. Look for a balanced configuration, but whatever you do, take the recommendations provided by Microsoft and multiply them by at least two.

1 GHz 32-bit and 64-bit processors, 1 GB of system memory, Windows Aero-capable graphics card ? a DirectX 9 item with WDDM driver, Pixel Shader 2.0 in hardware, 32 bits per pixel, and 128 MB of graphics memory (minimum) and 40-GB hard disk. I wouldn't settle for less than a 2 GHz processor, with 2 GB of RAM, and at least 256 MB of graphics memory. Just trust me on this one.

Throwing money at hardware is in no way a tweak. Still, it is important to understand in which manner the underlying hardware infrastructure impacts Vista performance. If you are not willing to buy a new system, or to upgrade and you are simply stuck with what you've already got, then the actual tweaks come after the hardware recommendations. Otherwise, if you can go for a multicore or 64-bit processor, do it, the more speed the better.

RAM is perhaps the most essential ingredient in the Vista performance receipt. The operating system makes use of both physical and virtual memory, and having a sufficient amount of the first, means that Vista will not need to access the latter via the hard drive. If the operating system can use only a limited amount of RAM and you run a heavy workload, Vista will become slow in responding, will deliver minimum throughput, and the performance will drop without any questions. This is because, if Vista has to page on a memory-constrained system, disk I/O is a given. Features such as SuperFetch, Windows ReadyBoost, ReadyDrive or even extra hardware such as NAND-Based Flash Memory will help with a shortage of RAM, but don't expect any miracles.

Hard disks are less important in the hardware configuration. Sure the speed, bandwidth, the internal cache write-back and flushing policies can all be correlated with the performance of Vista, but to a lesser degree than RAM. Just bear in mind that hybrid disks are the future. And also that battery power on mobile machines is another factor in delivering a consistent experience tied to a high level of service in Vista.

When choosing graphics cards, look for large amounts of memory and high frequencies, top internal bus bandwidth and high GPU to system memory bandwidth. If you want your copy of Vista to run smoothly all the latest games, as well as professional-tier graphical and video editing programs on multiple display configurations set at the maximum possible resolution, then you have to give it a graphics solution that can take the punishment from heavy workloads running on multiple surfaces.

2. Give Vista a Couple of Tries

This is another pseudo-tweak, but do get ready for the real thing! Believe it or not, you actually have to train Windows Vista. The operating system's Memory Manager handles physical memory different from past versions of Windows, courtesy of SuperFetch. Essentially, the memory management technology in Vista will keep track of usage patterns across the operating system and will store content in memory, optimizing both frequently accessed applications but also handling low-priority I/O background processes. In order for SuperFetch to create a pattern of behavior, you will have to actually use the machine. One area where you will notice a definite improvement over XP is on continuing your work after the operating system has performed background tasks on an idle computer. Unlike the Standby List management in Windows XP, SuperFetch will repopulate memory with evicted data and code whenever it is available. But even this process will take place with a very low priority I/Os.

"The SuperFetch service essentially extends page-tracking to data and code that was once in memory, but that the Memory Manager has reused to make room for new data and code. It stores this information in scenario files with a .db extension in the %SystemRoot%Prefetch directory alongside standard prefetch files used to optimize application launch. Using this deep knowledge of memory usage, SuperFetch can preload data and code when physical memory becomes available," explained Mark Russinovich, a Technical Fellow at Microsoft in the Platform and Services Division.

3. Windows Vista Aero-Less

The Windows Aero graphical user interface in Windows Vista is a breath of fresh air. But the extensive visual effects will take their toll on the general performance of the operating system. The best solution in this regard is to turn Aero off altogether and to opt for using the rudimentary Windows Vista Basic or Windows Standard GUIs. Such a move will boost performance, and as you have already undoubtedly noticed, Aero can slow down your workflow quite a lot. But if you've got a sweet tooth and simply cannot do without eye candy, then Windows Aero can be tweaked in order to hug less resources.

Open Control Panel and type the following in the Instant search box in the right hand side corner: "advanced system settings". Open the result Control Panel and click on the Settings button in the performance area, just under visual effects, processor scheduling, memory usage and virtual memory.

Microsoft has already a few options in place. You can let Vista choose the best settings for your machine, or go for all of the visual effect, or for the top performance. Additionally, you can also customize the settings, and in order to give a little more juice to Vista, make sure that the boxes for the following options are unchecked:

- Animate controls and elements inside windows - Animate windows when minimizing and maximizing - Fade or slide menus into view - Fade or slide ToolTips into view - Fade out menu items after clicking - Slide open combo boxes - Slide taskbar buttons

4. Kill Desktop Window Manager

"The new Windows Vista desktop composition feature fundamentally changes the way applications display pixels on the screen. When desktop composition is enabled, individual windows no longer draw directly to the screen or primary display device as they did in previous versions of Microsoft Windows. Instead, their drawing is redirected to off-screen surfaces in video memory, which are then rendered into a desktop image and presented on the display. Desktop composition is performed by the Desktop Window Manager (DWM), a new component of Windows Vista", Microsoft explained.

Does the Desktop Window Manager impact Vista performance? Of course. Essentially, DWM is behind visual effects such as three dimensional window transition animations, Windows Flip and Windows Flip3D via desktop composition. In order to kill DWM, enter "net stop uxSms" in a command prompt window running with elevated privileges. In case you change your mind, you can always turn it back on with this command: "net start uxSms". Disabling the DWM is an action synonymous with switching from Windows Aero to Windows Vista Basic GUI.

5. Virtual Memory and Processor Optimization

While personalizing Windows Aero is among the few modifications you can make to the surface of the operating system, the System Properties dialog box also offers you the best place to configure the amount of virtual memory for Vista. To the right of the Visual Effects, you will notice the advanced tab. The area towards the bottom is reserved for virtual memory. Vista even delivers a small definition, revealing that virtual memory is a paging file in an area on the hard disk that Windows users use as if it were RAM. Right, all you have to understand is that virtual memory is an extension of the physical memory of your system. It is a very good idea to have a paging file for all the physic hard drive on your machine, but not for all the drives on a single disk.

Additionally, it is a good idea to increase the total paging file size for all drives to at least the figure recommended by Vista. By default, the operating system will build a single page file, and store it in the root folder with the Vista installation. At the top of the dialog box, Vista offers the "Automatically Manage Paging File Size For All Drives" option. This means that the operating system will handle the default space allocated for the paging file in accordance with the workloads it has to manage. This option is an alternative to introducing a custom size yourselves.

In the Advanced tab, you will be able to also optimize Processor scheduling for either programs or background services, basically telling Vista how to better allocate CPU resources. The last tab in Performance options deals with Data Execution Prevention. This security mitigation can in certain situations intervene in your work by killing legitimate applications. While it is a healthy approach to have it enabled at all times, you can also turn it off for specific programs.

6. Trim the Startup Monster

An ideal performance scenario would involve Windows Vista running under the default installation. This is of course not possible. The invariable problem with adding applications to the operating system is that they will impact the overall results of the operating system, and nowhere is this more visible than in the startup process. There is no comparison between Vista booting up in the default deployment, and a startup after you have installed countless applications. First off, always make sure that applications you no longer use are uninstalled. There's no point in having them hanging around just to slow down Vista.

You will be surprised to see how many programs come with a startup item by default. In Vista, navigate to Control Panel, and under Program choose Change Startup Programs. Vista will present a list in Windows Defender that will permit you to customize a selection of startup examples. But if you really want to dig into the operating system's startup soul, you have to use AutoRuns for Windows, a free utility from Microsoft put together by Mark Russinovich and Bryce Cogswell from Sysinternals. Use the Hide Signed Microsoft Entries option in order to navigate through the luxuriant jungle of third-party auto-starting items. All auto-start entries can be disabled by unchecking the box next to them.

You can also do without some of the default Windows services that also launch at startup. Type "msconfig" in the Search box under the Start menu and press Ctrl + Shift + Enter with the highlighted result selected in order to launch System Configuration utility. Under the Services tab, disable items such as Fax, Offline Files, Tablet PC Input Service and Windows Search.

7. Mute User Account Control Elevation Prompts

User Account Control is a security mitigation introduced in Windows Vista as a measure to train users and software developers to use standard privileges only as opposed to administrative rights. The UAC's presence is necessary as it will permit the users to have control over how services, processes and applications access critical areas of the operating system. While the feature is not even close to the nagging monster it was "advertised" to be, it will deliver an impact on performance. Follow this link in order to learn how you can switch it off.

8. The Windows Error Reporting Service

Microsoft, in all its wisdom, has built Windows Vista in such a manner that the operating system will generate error reports after error reports in response to various exceptions across the platform. The Redmond company claims that error reports are an integer and essential part of the automatic feedback process designed to ultimately improve user experience on Windows Vista. The reality is that you can send tons and tons of error reports to Microsoft, and there is absolutely no guarantee that the company will address any of them. But hey... Microsoft does value user input, above anything else. Turning off Windows Error Reporting might be a tad tricky, but you can set WER to queue all errors. In this manner, you will be able to minimize the impact on performance, and restrict it to just specific periods. Just edit the following registry keys to the values indicated below:

- [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsWindowsError Reporting] "ForceQueue"=dword:00000001

- [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsWindowsError ReportingConsent] "DefaultConsent"=dword:00000004

9. Disk Defragmentation and Hard Drive Management

With Windows Vista, Microsoft has virtually taken the user out of the disk defragmentation equation. Defrag is now pretty much and automated process designed to run in the background. But even though it is performed with the most basic level of system resources, it will make itself felt in terms of overall performance. All you have to do is uncheck the "Run on schedule" option of the feature. Still, it is an excellent idea to defragment your hard drive and also to make sure that there is sufficient free space. Keeping the files stored in discontinuous sectors and ensuring a healthy amount of free space will help boost Windows Vista performance.

10. The System Restore and Volume Shadow Copy Services

System Restore is an essential element of the back-up infrastructure of Windows Vista. Right click on My Computer, choose Properties, and click on the System Protection option in the left hand side menu. Windows Vista can create automatic restore points for all the partitions on your hard drive. In this manner, you will be able to restore the operating system to an earlier point in time or use the Volume Shadow Copy service in order to revert a file or folder to a previous version. Building restore points does affect Windows Vista. In my opinion, this is a trade-off that you should learn to live with because of the virtual inestimable value of System restore. However, if you prefer a more hands-on approach to back-up, then you can uncheck all the boxes for the specific volumes on your hard drives in order to prevent the creation of restore points.

11. The Indexing and Search Service

"Windows Vista includes an indexing service that enables Windows Desktop Search to provide fast searches for documents, photos, e-mail messages, and other data. The service runs by default and uses the NTFS file system?s unique service name (USN) journaling feature to track changes in file system content. By default, only portions of the main system volume are actually indexed. Some of the indexing service I/O is performed at low priority, which means that it is delayed when normal-priority work is accomplished. If Windows Vista detects user activity such as mouse movement or keyboard input, it can throttle this activity," Microsoft stated.

In order to turn off Vista's Indexing and Search service in Windows Explorer right click each drive and select Properties from the contextual menu. The last option on the bottom of the General tab is "Index this drive for faster searching". Uncheck it to stop the indexing service.

12. Turn Off Windows Ballast

Windows Vista comes with a set of features that are nothing more than excess ballast in certain situations, managing to reverberate on the operating system's performance. Some you don't need at all, and some you simply don't want dragging along. Microsoft provides in Vista the option to switch them off without actually removing them from the platform. In Control Panel choose "Uninstall a program" under Programs and then "Turn Windows features on or off". The Indexing Service, Remote Differential Compression, Tablet PC Optional Components, Windows DFS Replication Service, Windows Fax & Scan and Windows Meeting Space, ActiveX Installer Service etc. can all pretty much be disabled, with the exception of Microsoft .NET Framework 3.0. The beauty of this feature is the fact that none of the items is lost. In case you change your mind, or discover that you need a component, revisit the location and check the box next to it. It's that simple.

Take Matters into Your Own Hands

In addition to the examples featured above, you can further take matters into your own hands. All you will need is a 2+ GB Flash drive to use with Vista's ReadyBoost option. "Windows ReadyBoost-capable Flash Devices extend the disk caching capabilities of Windows Vista main memory. ReadyBoost-capable devices can be implemented as USB 2.0 flash drives, Secure Digital (SD) cards, or CompactFlash cards. Using ReadyBoost-capable flash memory devices for caching allows Windows Vista to service random disk reads with performance that is typically 8-10 times faster than random reads from traditional hard drives," Microsoft explained.

Last but definitely not least, while you are waiting for Windows Vista Service Pack 1 to be delivered in the first quarter of 2008, you can get a taste of the refresh on you copy of the operating system today. Since early August, Microsoft has made available a couple of Compatibility, Performance and Reliability packs designed precisely to smoothen some of the rough edges of the platform. You will be able to download both from here, but the company has also pushed them via Windows Update.