Ways to speed up Vista

Depending on who talk to, people will tell you how happy/unhappy they are with current Windows Vista performance. Like most of my colleagues, I have installed the July 2006 CTP (Build 5472, available from the MSDN subscriber download).

On the machines I am using, performance (compared to XP on the same PC) varies wildly. My private desktop machine, a Dell 8300 Desktop with 2GB RAM, purchased in 2003, really shines. (Subjective) performance is noticeable better than XP.

I'm using two laptops, an Acer Ferrari (2GB RAM, X700 Video card) and a Toshiba M4 (1GB RAM, GeForce Go 6200). The Acer machines performs about as good on Vista as on XP, while the M4 was running noticeable slower compared to XP.

Important disclaimer: all performance statements reflect purely my personal observations. Keep also in mind that improvements in future Vista builds, drivers and or course firmware may totally change the situation before Windows Vista ships.

Obvious Choices

So, how to speed up the Thoshiba laptop? The obvious first choice would be to add memory, the second choice would be to change the hard drive. Quite a lot of colleagues swapped the low-RPM drives in their laptops (even in brand new ones) against 7200RPM drives with 8 or 16MB cache and reported huge performance improvements.

On small PCs, less is more

Since I did not want to modify the (company owned) laptop hardware, what are other tweaking options? Looking at resource usage (ResourceMonitor is a vast improvement over TaskManager) it is easy to spot features too resource- hungry for the Tecra M4 laptop.

Disabling Transparency in Aero Glass provides a huge relief in terms of memory and CPU. However, giving up Glass altogether and switching from "Windows Vista Aero" to "Windows Vista Basic" made the real difference. Even when running Office 2007 Beta and Visual Studio 2005 at the same time, the machine now performs at least as fast as on XP.

One more option I am using is ReadyBoost, improving performance by adding a USB Stick:

ReadyBoost

ReadyBoost is a simple way to speed up an existing PC by adding a USB Stick (or, in some machines, adding a SD Memory card). What ReadyBoost does, is caching portions of the pagefile on a USB Stick. (With flash prices going down, 2GB USB sticks are around for 40€ apiece, so this might be a great excuse to buy one)

People have argues that Disk transfer rates exceed Flash Memory transfer rates - which is true. However, random reads from Flash can be as much as 10x faster than random reads from your disk.

Still, you Flash memory/USB stick, USB controller etc. must provide a reasonable transfer rate for random reads. The only real way to find out, is benchmark random reads, and this is what Windows Vista does automatically.

Selecting a USB stick, and doing a right click/properties, you can select ReadyBoost and enable/disable it. Windows Vista will create a ReadyBoost cache file. This file will be used for small, random reads to the pagefile. A recommendation for the ReadyBoost cache is 1:1 (ReadyBoost:System Memory) for smaller machines, going up to 2.5:1 for bigger machines. There can be only one ReadyBoost file on a machine, and the ReadyBoost file can never be larger than 4GB.

ReadyBoost will improve things when the machine comes under memory pressure and heavy disk activity, in this case the PC will be noticeable more responsive. Even more details on ReadyBoost can be found in Tom Archer's Weblog.