Microsoft

Debunking the Windows XP power wasting myth

A recent article published by Treehugger.com takes Microsoft to task for committing several sins against energy conservation with Windows XP. George Ou contends that the claims are off base and offers his own analysis of WinXP power management issues.

Over the weekend, Digg pumped the article "How Windows XP wasted $25 billion of energy" from the Treehugger.com Web site. Fellow blogger Adrian Kingsley-Hughes offered his take on it here. I'm going to get straight to the point: The article was not only unfair but wrong, and I will back that up with facts.

The article claims that Microsoft committed these three energy sins with Windows XP:

  • The default power-saving option is set to High Performance.
  • Applications can "veto" sleep (AKA suspend) mode.
  • There is a lack of central management capability.

First of all, most users demand that their computers be set to High Performance. The power savings aren't all that great or are totally nonexistent in desktop computers anyway, since you need hardware throttling support. Until recently, power throttling has been an exclusive domain of Notebook computers, but modern desktop computers based on Intel and AMD have added this feature with Intel SpeedStep and AMD Cool'n'Quiet. The problem is that it's only the difference between 180 watts versus 155 watts in idle, which really doesn't make that much difference.

So this is really a hardware issue and not an operating system issue. Treehugger was wrong to lay the blame for this on Microsoft because it lacks the technical understanding of how this actually works. Its example of "flooring a Honda at every green light" is simply way off the mark.

Second, having a veto mode for applications is a programmatic tool in Windows XP with legitimate purposes. Even though operating systems are smart enough to avoid sleep state based on CPU, network, or disk activity, there is a valid case to be made for a manual override option. Microsoft determined that too many developers were abusing the sleep veto function, so it decided to remove the function entirely in Vista (although it can be re-enabled manually via the registry). It wasn't Microsoft's fault that the feature was being abused by developers, but it made the right decision to remove that default feature from Vista knowing what it knows now.

Third, what operating system other than Vista has central power management capability built in? I heard a lot of anti-Microsoft sentiment reveling in the news that Microsoft was being blasted by Treehugger. But I would ask those people how their choice in operating systems performs in power management. Of course, the usual response is that you can always come up with a custom script to manage these things in UNIX variant operating systems. But you can do the same in Windows XP with command-line scripting and Group Policies. Vista simply goes a step further to include easy-to-use GUI Group Policies to globally manage Vista's power state natively. What other OS vendor does this? Could Microsoft have been the first to do this with XP? In hindsight, sure it could have. But is it fair to bash Microsoft for being the first OS vendor to implement the most extensive suite of power management features in the OS natively?

The fact of the matter is, Treehugger doesn't have a clue about power management technology, and that $25 billion waste figure attributed to Windows XP is pulled out of thin air. The key issues surrounding PC power management, which I cover later in this article, were totally missed—which means Treehugger missed the opportunity to educate people on the real facts and issues of PC energy conservation.

The facts on PC power management

I've tested and measured Windows XP and Vista power management features extensively with various hardware, and I can tell you it's not as easy as throwing a few switches here and there in the OS. Windows XP, for example, has a default registry key that prevents PCs from dropping down to S3 sleep mode when USB KB/Mouse devices are detected, because the motherboard might fail to wake up. S3 is a state in which a PC is using nearly zero power and using barely enough to keep the contents of RAM intact. Without S3 mode, a PC suspends to S1 mode. S1 sleep mode on my desktop computer still burns up 150 watts of power, which really isn't any better than regular idle mode.

When I first heard about this registry key, I was shocked and thought there was some kind of monumental mistake in Windows XP default settings. After I did some testing on three of my desktop machines, I determined that this is mostly a hardware limitation. Microsoft can't risk a default setting that renders even a small fraction of PCs unable to wake when a USB keyboard and mouse are plugged in, even if most hardware doesn't have this problem.

Furthermore, the registry setting for enabling S3 mode was worthless on all three of my desktop machines because the hardware didn't support S3 mode. When I spoke with a Microsoft engineer on this issue, he explained that most OEM PC makers did support this feature and they properly set the registry key to take advantage of it, although I haven't been able to figure out which PC makers and which models support S3 sleep. However, corporations that built their own Windows XP images will have to determine hardware compatibility and set this registry key manually. (You can download the registry file to do this here.) Given the fact that Windows XP was released in 2001, when hardware support was more questionable, I can understand the conservative setting in Windows XP to avoid wakeup problems.

Windows Vista, which will be released in 2007, will have S3 sleep mode enabled by default, although it didn't help me on the three desktop machines I tested. Vista also introduces a hybrid S3/S4 sleep mode, which offers the benefits of both S3 and S4 mode. S4 mode is usually known as hibernate mode, where the PC dumps its RAM contents onto the hard drive. Hybrid S3/S4 mode dumps the RAM to the hard drive for backup but maintains the memory in RAM so that the PC can resume instantly from S3 RAM state. Should the PC lose power during sleep mode for any reason, the PC will lose its ability to resume from S3 mode but it will still be able to resume from S4 disk Hibernate mode.

The last change in Windows Vista is that users no longer need to be an administrator with root privileges to change the power management settings, though the settings can always be overridden by Group Policy. Group Policy settings follow a logical hierarchical inheritance model that can be company wide or implemented only at the OU (organizational unit) level, although exceptions can be made at the individual or OU level.

With all this talk of suspend mode, a glaring fact is frequently missed: People often do not want their PCs to sleep because they can't get to the system remotely any time they want. Microsoft SMS or other enterprise management tools will permit companies to wake their PCs remotely, but this doesn't help most people. Windows Update and Media Center aren't a big issue because those applications can arm the real-time clock on a PC to wake the system at a certain time to get updates or record TV shows. But most people don't have an SMS server in their home or even their business, and they want to do more than timed wakeups from Windows Update and Media Center.

Users want to be able to get to their files, which may be spread out over multiple PCs, or they want to be able to remote in to their PC. There is currently no easy way to do that while the PC is in any suspend state, which means many consumers won't want to use suspend. The real solution is to build PCs that drop their CPU, GPU, and memory clock cycles along with voltages into an ultra-low power idle mode where the PC still functions but only at a fraction of the speed. I've been calling for this for almost two years.

The modern PC is more than fast enough to operate at 1/10th the speed while running tasks like BitTorrent (often an overnight or multiple-day affair), office productivity tools, and DVD or video playback. There's no reason why the PC industry couldn't build a PC that runs as fast as an overclocked monster using 300 watts of power when gaming but throttle back down to 10 or 20 watts in super-idle mode. I'm aware of a few potential motherboard solutions that may offer these features now, but I won't mention them until I test those features in the near future.

I've been calling for energy efficient PCs for a long time, and not just for environmental reasons—it has a direct impact on your wallet. The funny thing is that most people would scream bloody murder if you raised their Internet connection bill by $20/month, but they don't bat an eye at their $300/month electric bill. A modern desktop PC that's turned on 24x7 could easily cost you $20/month in electricity, and that's not including the extra load on your air conditioning bill during the summer.

Editor's Picks