Software application development
This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.
Tuesday 15 September 2009, 7:37 AM
Is Windows 7 greener? Yes, but only by about €50 a year.
With arrival of Windows 7, even dedicated OS X users like me are taking a look under the bonnet. Of course it would be inappropriate for me to suggest that Mac users might like what they see due to the fact that Windows 7 is more than just slightly reminiscent of Leopard (snowy or not) – so I won't do that.
But 'jump lists' and fancy icons aside, exchanging a few mails with Microsoft's Foster, he was keen to highlight a set of Windows 7 features rather closer to the engine room. Namely: Windows 7 power saving features. Here's a list of strongest contenders for attention in this area:
• Idle Resource Utilisation
• Trigger start services
• Enhanced processor management
• Timer coalescing
• Device power management
• Adaptive Display Brightness
• Low-power audio
• Bluetooth power improvements
• Networking power improvements
• Power efficiency diagnostics
• Power policy
• Group policy
Foster points out that some of these features have been implemented to take advantage of newer processors and devices. So users opting for Windows 7 to breathe new life into older kit (something that the new OS can apparently do) will not be be able to get the full benefit from these features.
So how does it do what it does? Foster explains, “The core theme of power saving in Windows 7 seems to be based on the principal of batching up work. Idle resource utilisation, timer coalescing and enhanced processor power management all work as part of this ethos.”
This is due to the fact that modern processors use very little power when they are idle, but they do use power switching from active states to the idle state and back again.
“The trick therefore, is to ensure that the processor can remain in the idle state for as long as possible,” says Foster. “To do this, activities that would interrupt the processor from idle state are gathered together or delayed until really required.”
Essentially, if you take an example and look at something like timer coalescing; USB devices typically work with a polling model, so the device expects to be polled at regular intervals based on the system clock. Many such devices on your machine may have their polling frequency set in such a way that the processor is 'hit' many times for each individual device.
By using timer coalescing, Windows 7 is able to co-ordinate the polling of devices into appropriate batches. This enables the processor to idle and then do all the device polling as a single period of operation
Some of this subject matter also touches on technologies that may be more familiar to the average user such as adaptive display brightness, something people may be familiar with from their use of mobile devices. Dimming an inactive display and/or altering the brightness of the display reactively to the lighting conditions by using an ambient light sensor – if you happen to have one attached to your machine in the first place of course.
According to Foster, “Apparently the display can represent 40% of the power consumed by a computer, so controlling its use more effectively can make for dramatic savings.”
But just how ‘dramatic’ are these ‘dramatic savings’ in real life pecuniary terms Paul?
“At best, the Windows 7 power saving features will save me personally less than €50 a year. Of course, if I was responsible for 1000 PCs in a company, then the potential savings do add up to a significant amount. Looking globally, across all the millions of machines that run Windows today, the power saving potential with Windows 7 is enormous,” he said.
OK so it is a greener option for sure. But you need to take in the big picture if you want to see the true worth of it. Every little bit helps though – doesn't it?
NB: you can read Paul Foster’s own blog linked here.
Comments on this post
Very interesting article, Adrian, and food for a good bit of thought and discussion. Thanks for posting it.
Regarding timer coalescing, I can see where grouping of USB polling could be beneficial (we had similar experience when moving badge readers from serial to network connection), but it seems to me that there might be some USB devices which are more sensitive to polling interval than others, and thus might not like the side-effects of such grouping, thus leading to compatibility problems?
More importantly, it has been known for a long time that notebook displays are the single largest drain on batteries. Having adaptive brightness could be a very significant power saver - but as you said, this is only possible if there is a light sensor available. Is this going to be another case where Microsoft is "pushing" users to scrap old equipment and buy new, just the opposite of "breathing life into old kit" as you said?
jw
Hey JW,
Thanks for your reply.
So when we talk about the needs of different types of USB devices perhaps you are right to suggest that it's not a case of one size fits all. Would you mean perhaps the difference between perhaps a USB mouse and a partially active web cam? The latter needing arguably less polling especially if it is not in use.
Has Microsoft though this through? I imagine it has - but is it still trying to sell us a shrink-wrapped solution regardless? Are we being unnecessary negative though? Any improvement in power consumption is an improvement surely?
AdrianB
This comment has been deleted at the users request
This comment has been deleted at the users request
If you read the in stuctions that come with a new computer, there will often be a section dedicated to battery care. The idea is to disable all power managment once a month and run down the battery. Then start again.
This could save a lot of lithium ion batterys from being illegaly dumped in landfill sites.
Although Windows has always had it's own power managment features, you will often find that manafactures will shut this down and install their own inferior mangment software and thus taking away all the hard work done at microsoft.
And that brings me to another power draining issue. We have yet to see the effect of all the middleware that PC makers like to put between windows and the 'bare metal'. A new PC will often ship with as many as 15 unnecessary startup programs which will increase boot time, use more energy and often conflict with the smooth running of Windows.
Lastly, even though images are thrown onto a disk and not installed as such, you will still find heavy fragmentation on that disk, so defrag straight away for better than out of the box performance.
Adrian - Yes, to some degree I am thinking of differences between devices such as USB mice and webcams. In fact the specific device that came to my mind immediately was USB scanners, probably because they have been a royal pain to me for years. I am not familiar with the details of the USB protocol (that should be obvious), but I have dealt extensively with peripheral devices which require periodic polling, such as access card readers, and I have learned the hard way that messing with the polling interval is one sure way to cause lots of problems. I'm pretty sure that you are right, Microsoft has thought all of this through. But I think that I also have the same uneasy feeling that you seem to have about a one-size-fits-all solution in this area.
I have been thinking about this since posting the original reply. The objective of the grouping is supposed to be to reduce CPU load by doing all of the USB polling at once. But if I run a CPU load analysis utility, when my computer is otherwise idle, I see that the CPU load is extremely low - although there can be some interesting discussions of the fact that the load measuring utility will itself put a load on the CPU... hmmm. Anyway, what I am wondering is if we are monkeying around with something that is not likely to yield nearly enough return in terms of power saving to justify the risk it entails?
I would agree with your general statement, any improvement in power consumption is a good thing, but with the qualification that the improvement must come without ANY cost in overall reliability. Before the release of Vista I would probably have been much less skeptical of complex changes such as this.
Roger - Hi! Yes, I have experienced exactly the situation you mention, of various OEMs replacing Windows power management with their own version. I've also seen situations where built-in BIOS power management competes with Windows power management, with unpleasant results. In some cases it is difficult or even impossible to reverse that situation, get rid of the OEM power management setup and return to Windows power management.
I think your other point is even better, too. All the bloat that is typically added to a new system delivered from an OEM certainly does have a significant impact on power management, as well as the well-known impact on overall system performance.
That leads me to one more observation - since Virus/Spyware/Malware protection is basically indispensable on Windows systems any more, one would have to consider what the effect on power management would be of a product like Symantec/Norton Anti-Whatever, which I have personally seen cause a CPU to grind along at 10%-20% load continuously?
Considering those last two points, I would then go back and look again at the beginning of this discussion, and wonder again if they are taking on far too much risk for something which will yield very little return, if not because of its own characteristics then because of the typical use and load situation of a Windows PC?
Are we being too negative? As an engineer, I would probably say yes, and I would agree with you wholeheartedly that any improvement in this area is a worthwhile accomplishment. As a consumer who has been subjected to Windows Vista, I do not feel that way.
jw
I have an external sensor board which has an ambient light sensor on it. When I plug this into my Win 7 machines (old ones) they can make use of the light sensor and dim the screen as expected.
So there is a cheap light sensor accessory opportunity out there for someone!
Paul
@paulfo - That sounds pretty interesting, can you give a little more information about exactly what it is - a prepackaged product, or something you created yourself - how it connects to the computer and what sort of drivers or other software are necessary for it? Is it using built-in Win7 drivers and support?
jw
Good to know good read, I've always made use of the power management setting in windows and have always found them to be quite scalable, so I have no concerns of being able to do that on the next incarnation of windows.
As for the polling issues I think you are both right it is a great idea but obviously existing devices where not manufactured with it mind, so they will no doubt be some issues with that but they are remedies the first one being having the ability to shut that off, and second maybe arriving in the form of Microsoft's year long try before you buy scheme, thus getting the knowledge out there into the hands of both developer's & manufactures so by the time windows ships such compliant devices are already starting to appear on the shelf.
The sensor board I have been playing with is the Flexis JM Badge Board. Its good fun because as well as the light sensor there is a 3-axis accelerometer, LED matrix, IR transmitter, 8-button touch sensor, buzzer and a Freescale Coldfire microprocessor.
See more at http://www.canyourbadgedothis.com
I also put together a little video to show it off with a modified XNA starter kit racing game http://www.youtube.com/watch?v=rhVm_A3eVv8
Regarding Win7, you just need the Windows 7 Sensor Development Kit - a free download from http://code.msdn.microsoft.com/SensorsAndLocation/Release/ProjectReleases.aspx?ReleaseId=2359 where you can also get the XNA game in the video.
There is lots of fun to be had here - go get some!
Cheers
Paul
@paulfo
Do you have any datasheets or a pdf that details the light sensor and circuit?
I would be interested in that for an add-on to our field computers. Right now we use a application that communicates thru a serial port to the dimmer circuit on the LCD power inverters to change the duty cycle of the florescent backlights. An auto-dimmer circuit would be easier to deal with for our customers.
Please use my zdnet.co.uk email address.
I know Paul has tried to post some useful links as a follow up to this story - if anyone wants extra background and can't get in touch with Paul directly... or wants the info through me, then just drop me a line.
Thanks everyone for your interest.
Adrian
Hmmm. Brings back memories!
About 1993-4 we produced an open-air information display that had to have auto brightness correction. The solution turned out to be ridiculously simple. A standard ORP12 LDR fed into a bargraph display driver, the top 8 lines being fed directly to a redundant parallel port.
Worked like a dream :)


