Prepare software for modern standby
When a system enters modern standby‐‐that is, when the screen turns off‐‐its software and applications must be made ready to enter its long term, low power sleep state. Please see Modern Standby states for a higher level overview of this behavior.
A system enters modern standby when the display turns off. This will occur in response to:
- the user pressing the power button
- the user closing the lid
- the user selecting Sleep from the power button in Settings
- the system idling out
Software preparation phases
Following the display turning off, the system will begin quiescing software activities to enter modern sleep. Microsoft defines modern sleep as entering the low power phase indicated below. Within modern sleep, explicitly allowed, value-adding software activities can run intermittently, but the system will aim to spend most of the time in its lowest power state, known as deepest idle runtime platform state (DRIPS).
Windows transitions through a set of phases to prepare apps and system software for achieving low power. The phases are sequential—each phase is a set of activities that must be performed before the phase can be completed and the next phase entered.
The purpose of these phases is to stop or reduce as much software activity on the system as possible. This reduction in activity gives more opportunity for the hardware to enter low-power modes, thereby extending overall battery life.
The following table describes each phase of preparing software for modern sleep.
Topics | Description | Tasks performed | Exited when... | Typical duration (seconds) |
---|---|---|---|---|
No-CS phase
Note This is also the phase where the device waits for the sleep timeout to elapse and power requests to expire.
|
The system is waiting either to idle out or for outstanding power requests from applications. It has not yet begun quiescing activities. |
|
All outstanding power requests have been cleared by applications or the maximum time-out has been reached. |
|
Connection phase |
The system is checking for remote desktop connections. |
|
There are no remote desktop sessions connected. |
|
Process Lifetime Manager (PLM) phase |
The system suspends Microsoft Store apps that are in the foreground. |
|
All foreground Microsoft Store apps have been suspended and no audio playback is occurring. |
|
Maintenance phase |
The system executes maintenance tasks. |
Wait for maintenance tasks to complete if running (most common on AC power). |
No system maintenance tasks are running. |
|
Desktop Activity Moderator (DAM) phase |
The system pauses desktop applications to reduce their power consumption during standby. |
The system suspends desktop applications |
All desktop applications have been suspended and no audio playback is occurring. |
Typically, less than one second. |
Low-power phase
Note This is where the system conceptually exits its Screen Off state and enters Sleep.
|
The system notifies registered subscribers that the power manager is entering a low-power, long-resume-latency phase. This is used by some devices as a hint to power down. |
Notify registered subscribers. |
All registered subscribers have been notified. |
Typically, five seconds. |
Resiliency notification phase |
The network subsystem is notified to enter a low-power mode. |
Notify the network subsystem. Network adapters that do not support modern connected standby are turned off (D3). |
The network subsystem has been notified. |
Typically, less than one second. |
Resiliency phase
Note This is where explicitly allowed, value-adding software activities can run through activators. Consequently, the system may transition between idle and active states periodically.
|
The system is ready for the SoC to enter the lowest power mode and remain idle. |
PDC resiliency clients are notified that the system is in resiliency phase. Session-0 services are throttled by the DAM to no more than one second of activity every 30 seconds. The power manager waits for activators to turn on their reference and cause the system to remain active. As of 24H2, additional session-0 services may be suspended, and session-0 service throttling may be stopped to decrease battery drain. |
The system exits standby due to user input or a power button press. The system transitions to maintenance phase to run system maintenance (this would show as a Screen Off segment in Sleepstudy). |
The majority of time the system is spent in DRIPS. |
After Windows has entered the resiliency phase, software is considered to be fully prepared for low-power operation. As soon as all devices have entered their low-power modes, the SoC and core chipset will enter the lowest idle power mode, as described in Prepare Hardware for Modern Standby.
Note Currently, no means is available to system designers to change or influence the behavior of these phases—they are a core part of Windows behavior. The details are explained here to aid in system debugging and development.
The following graphic depicts how these phases fit into the overall Modern Standby session flow:
Desktop activity moderator
The desktop activity moderator (DAM) is the Windows component that is used to pause all desktop applications and throttle the runtime of third-party system services. The purpose of the DAM is to enable basic software compatibility with existing applications and services, but mitigate their impact on battery life during standby.
Windows prevents desktop applications from running during any part of modern standby after completing the DAM phase. Windows allows third-party system services to execute in a throttled mode after completing the DAM phase.