New Power Management Guidance for Windows Software Developers

Green Blog

The Official Blog of Microsoft's
Environmental Sustainability Team

New Power Management Guidance for Windows Software Developers

  • Comments 0

Energy efficiency is a common theme you’ve heard from us on this blog. From our work in Windows 7 and Windows 2008 to make improvements in power management and energy efficiency, our goal in our own products is to make continual progress. Along the journey, we’ve learned much about energy efficiency, including various ways to improve it but also by identifying some of the challenges associated with making progress in this area. One area of power management we believe needs greater attention in our own Windows ecosystem is in the fundamental design and development of software applications for Windows. Today we are pleased to release a set of resources, best practices and tools for software developers to help better understand power management’s role in software application design.

We believe that energy efficiency must become a tenet of software design for the industry to grow in an environmentally sustainable way. In the Windows PC ecosystem, perhaps the biggest challenge for improvements in power management has been the applications that run on the Windows operating system. Even with gains made in the operating system, we’ve found that software applications can “break” power management and in effect lose any gains that have been made. Software applications whose design considers power management practices provide users with an improved experience and even cost savings.

Power management may be a new concept to many developers and organizations developing software applications. With these new resources for software developers and greater attention to this issue, we hope to change that. The guidance and best practices found on the Windows Power Management for Developers page is a collection of our own learnings developing software products and our work with Independent Software Vendors (ISVs). The guidance is wide ranging but two papers in particular are must-reads for software developers building applications for Windows:

The Science of Sleep: This paper covers high-level best practices that software developers should follow in Windows 7 to ensure that their application, service, or driver is compatible with and takes advantage of sleep and display power management in Windows. Developers of Windows applications, services, and drivers must ensure that their applications honor and work intelligently with power management-related user and IT administrator preferences and policies.

Timers, Timer Resolution and Development of Efficient Code: This paper provides information about high-resolution timers and periodic timers for Windows operating systems. It provides guidelines for developers to use timers efficiently with platform power management. It assumes that the reader is familiar with concepts of periodic activity and scheduled timers.

While we certainly have more to do this area, the resources we’ve developed can help any Windows software developer to get started. It’s probably not surprising that the resources are focused on Windows applications, and while they might not apply to all software applications, the general concept of considering power management and energy efficiency in software design is universal. Increased attention to energy efficiency and power management in software design could have a significant impact on any customers using applications. Whether that’s helping them reduce their energy use and costs, improving their environmental impact or even improving customer satisfaction, the potential for reducing energy use in the IT industry is significant.

Mark Aggar, the environmental sustainability’s team director of technology, is speaking today in San Francisco at the Intel Developers Forum (IDF 2010) about this topic. If you are planning to be at IDF, please visit the Microsoft booth and ask for him. If have any questions about this work and would like to send him a note directly, you can reach him through his blog at

To visit the new resource page, please go here: Windows Power Management for Developers page on MSDN

Leave a Comment
  • Please add 1 and 5 and type the answer here:
  • Post