For those of you that are using Virtual PC 2007, there are lots of performance tip and tricks that come up from time to time that are pretty straightforward.  You know, using more than one hard drive, setting the global settings, the easy stuff.

One trick that’s no so apparent is adding an option for virtual pc to prevent certain CPUs from entering a low power state, and therefore keeping everything running fast and smooth.

Ben Armstrong documented this option back in March of 2007 in his “Last Resort” blog post.  To summarize, you need to add the following to the options.xml file that virtual pc uses when running.

<enable_idle_thread type="boolean">true</enable_idle_thread>

This setting needs to be part of the <virtual_machines> section so you can just make it the last line of the section.  The options.xml file lives under the %appdata%\Microsoft\Virtual PC directory if running Windows XP and the Roaming area under Windows Vista.

Make sure at this point you are running the latest version of Virtual PC 2007 SP1 (updated 7/3/2008) and have installed the latest virtual machine additions if applicable.  The setting above will do wonders for linux or Windows.

One last thing, everyone won’t benefit from this setting.  Apparently some OEM BIOS levels have fixed the CPU timer and power management problem that causes the choppiness.

Credit to Ronald Beekelaar for reminding all of us on some internal email about the setting.  I know I totally forgot about it.