You experience decreased battery life on a Windows XP-based mobile computer (912206)



The information in this article applies to:

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Tablet PC Edition

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

You experience decreased battery life on a Microsoft Windows XP-based mobile computer.

CAUSE

This issue occurs if the following conditions are true:
  • You are using a uniprocessor-based mobile computer.
  • The computer supports Advanced Configuration and Power Interface (ACPI) processor idle sleep states, or C-states. C-states save power when the processor is not busy.
  • The computer changes the number of available processor idle sleep states during a transition from AC to DC power. This behavior causes the operating system to reevaluate the _CST processor object.
  • You unplug the power cord while a program is running.

WORKAROUND

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.To work around this problem, decrease the IdleFrom0IdlePercent registry value. This value determines how long Windows waits to start using C-states again after the ACPI BIOS notifies the system that new C-states have arrived.

Note Battery life is affected by many variables. The use of low-power idle states is only one factor. This workaround may not have any noticeable effect on the computer's battery life.

To decrease the IdleFrom0IdlePercent registry value, follow these steps:
  1. Click Start, click Run, type regedt32 in the Open box, and then click OK.
  2. Locate and then click the following registry subkey:

    HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Session Manager\Power

  3. On the Edit menu, point to New, click DWORD Value, type IdleFrom0IdlePercent, and then press ENTER.
  4. Right-click IdleFrom0IdlePercent, and then click Modify.
  5. In the Edit DWORD Value dialog box, click Decimal under Base, type 50 in the Value data box, and then click OK.
Note The following registry subkeys control how long Windows waits to start using C-states again after the ACPI BIOS notifies the system that new C-states have arrived:
  • HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Session Manager\Power\IdleFrom0Delay
  • HKEY_LOCAL_MACHINE\System\CurrentControlset\Control\Session Manager\Power\IdleFrom0IdlePercent
For example, if you want the processor to reach a threshold of 50 percent idle for 10 seconds (10,000,000 microseconds) before Windows starts using new processor idle sleep states, use the following settings:
  • IdleFrom0IdlePercent value = 50
  • IdleFrom0Delay value = 10000000

Modification Type:MajorLast Reviewed:3/3/2006
Keywords:kbtshoot kbprb KB912206 kbAudEndUser