Most if not all the attention surrounding Windows Vista Service Pack 1 has been around performance, reliability and compatibility, but you probably didn’t know SP1 also makes short strides in terms of Vista’s power efficiency. And by short, I really do mean short because we’re talking about improvements in the magnitude of only a couple percents. That in the context of 5 hours battery life is a mere additional 6 minutes. Having said that, some is better than none.
The first of two improvements is in the display subsystem. As you are probably aware of, the Desktop Window Manager (DWM) in Vista utilities the 3D rendering capabilities of your graphics card to draw the desktop and windows.
If you’ve ever played 3D games, you might have come across a graphics option called VSync. In a nutshell, VSync makes sure the output of the graphics card is synchronized with the refresh rate of your monitor. This prevents moving images from an effect of being teared. By design, Vista enables VSync to prevent a glitch free experience.
The side effect of VSync however is that it requires an interrupt to the CPU to maintain its sync. The default VSync rate for most users is 60Hz which means an interrupt occurs once every 16 milliseconds. As you might have guessed, this continuous interruption can prevent the CPU from entering a low-performance state where it is conserving energy.
Starting from SP1, the VSync functionality no longer runs continuously. Instead, the interrupts are disabled after a short timeout period where no screen updates has occurred. The default timeout period is 10 VSync periods which translates to 160 milliseconds (0.16 second) on a 60Hz screen. The catch is that a screen update can be anything from a blinking cursor to a flashing network icon, so the chances of a screen idle might be a lot less than you would imagine. Microsoft estimates VSync can increase power consumption from 1 to 2 percent.
The second improvement is in the audio subsystem and only concerns those with HD Audio codecs (not AC97). In Vista RTM, the audio device will never idle regardless of whether or not it is mute or if there’s any sound processing being done on the device, thus sucking power even when you’re not hearing any sound at all.
Starting from SP1, the default idle timeout for has been changed to 30 seconds. This means on battery power if the audio device is not rendering audio for a continuous period of 30 seconds, it will actually switch the audio device to a D3 power state. By definition, this means the device is off and should not consume any energy at all. Whilst Microsoft doesn’t give any indication of potential power savings, I presume this will have more of an effect than the VSync enhancement.
Before any of this matters, both of these changes also require some work on behalf of the hardware vendor. In the case of the graphics driver, it involves adding an additional flag in the source code and recompiling it with the new framework. In the case of the audio driver, it will have to direct the hardware to enter into a low-power state after a period of audio idle. Besides Microsoft’s default drivers, I’m not aware of any third-parties already supporting these enhancements but I hope they will soon.
If any laptop users with Vista SP1 have noticed a dramatic increase in battery life after SP1, please share your system specification and how much of an improvement you saw. If you don’t have SP1 already, it only means you’re not looking hard enough.