モダン スタンバイのためのソフトウェアの準備

システムが最新のスタンバイ状態になったとき (つまり、画面がオフになったとき) 、そのソフトウェアとアプリケーションは、長期間の低電力スリープ状態に入る準備ができている必要があります。 この動作の概要については、「モダン スタンバイの状態」を参照してください。

システムがモダン スタンバイに入るのは、ディスプレイがオフのときです。 これは、以下に対応して起こります。

  • ユーザーが電源ボタンを押す
  • ユーザーがカバーを閉じる
  • ユーザーが [設定] の電源ボタンから [スリープ] を選択する
  • システムがアイドル アウトする

ソフトウェアの準備フェーズ

ディスプレイがオフになった後、システムは、モダン スリープに入るためソフトウェア アクティビティの休止処理を開始します。 Microsoft では、モダン スリープを、以下に示す低電力フェーズに入ることと定義しています。 モダン スリープの中では、明示的に許可された付加価値ソフトウェア アクティビティを断続的に実行できますが、システムはほとんどの時間を最低電力状態 (最も深いアイドル ランタイム プラットフォーム状態 (DRIPS) と呼ばれる) で費やすことを目標とします。

Windows は、アプリとシステム ソフトウェアが低電力実現に備えるための一連のフェーズの中を移行します。 フェーズはシーケンシャルです。各フェーズは、フェーズを完了し、次のフェーズを入力する前に実行する必要がある一連のアクティビティです。

これらのフェーズの目的は、システム上のソフトウェア アクティビティを可能な限り停止する、または少なくすることです。 このアクティビティの減少により、ハードウェアが低電力モードに入れる可能性が増えて、全体的なバッテリ時間が伸びます。

次の表では、ソフトウェアのモダン スリープの準備をする各フェーズについて説明します。

トピック 説明 実行されたタスク 終了時 標準的な期間 (秒)

No-CS フェーズ

これは、スリープ タイムアウトが経過して電源要求の期限が切れるのをデバイスが待機するフェーズでもあります。

システムは、アイドル状態になるか、アプリケーションからの電源要求が未処理になるのを待機しています。 休止処理アクティビティはまだ始まっていません。

  • システムは、スリープ タイムアウトが終了するのを待機します。
  • システムは、電源要求の期限が切れるのを待機します。 これらをアプリケーションが、システムをアクティブに保つために保持できます。 電源要求が AC 電源で NoCS フェーズを無期限にブロックし、DC 電源では最大 5 分間ブロックします。 オーディオ ホットスポットとモバイル ホットスポットが無期限に作動できます。

    すべての未処理電源要求がアプリケーションによってクリアされたか、最大タイム アウトに達しました。

    • 通常は、1 秒未満です。
    • システムがバッテリー電源を使用している場合、未解決電源要求によりこのフェーズが最大 5 分間ブロックされます。 電源要求を含むアプリケーションは、Powercfg.exe を /requests オプションで実行することにより検査できます。
    • システムが AC 電源を使用している場合、未処理電源要求によって、このフェーズは無期限に、あるいは電源要求がアプリケーションによってクリアされるまでブロックされます。

    接続フェーズ

    システムはリモート デスクトップ接続を調べています。

    • リモート デスクトップ セッションが存在するかどうかを調べます。
    • 未処理電源要求の追跡を開始します。

    接続しているリモート デスクトップ セッションがありません。

    • 接続しているリモート デスクトップ セッションがない場合はゼロ秒です。
    • すべてのリモート デスクトップ セッションが切断されるまで、またはタイムアウトするまでフェーズが続きます。

    プロセス ライフタイム マネージャー (PLM) フェーズ

    システムは、フォアグラウンドにある Microsoft Store アプリを中断します。

    • すべてのフォアグラウンド Microsoft Store アプリを中断します。
    • 通信アプリのアクティビティを確認します。

    すべてのフォアグラウンド Microsoft Store アプリが中断しており、オーディオ再生がありません。

    • 通常は、5 秒未満です。

    メンテナンス フェーズ

    システムはメンテナンス タスクを実行します。

    メンテナンス タスクを実行中の場合は、完了するまで待ちます (AC 電源では最もよくある)。

    実行中のシステム メンテナンス タスクがありません。

    • 通常、DC 電源では 1 秒未満です。
    • システムは、AC 電源のメンテナンス フェーズでブロックされる可能性が最も高くなります。

    Desktop Activity Moderator (DAM) フェーズ

    システムはデスクトップ アプリケーションを一時停止して、スタンバイ時の電力消費量を減らします。

    システムはデスクトップ アプリケーションを中断します

    すべてのデスクトップ アプリケーションが中断しており、オーディオ再生がありません。

    通常は、1 秒未満です。

    低電力フェーズ

    ここで、システムは概念的に Screen Off 状態を終了し、Sleep に入ります。

    システムは登録済みのサブスクライバーに、電源マネージャーが低電力の長い再開待ち時間フェーズに入っていることを通知します。 これを一部のデバイスは、電源をオフにするヒントとして使用します。

    登録されているサブスクライバーに通知します。

    登録されているすべてのサブスクライバーに通知が送られています。

    通常は、5 秒間です。

    回復性通知フェーズ

    ネットワーク サブシステムは、低電力モードに入る通知を受け取ります。

    ネットワーク サブシステムに通知します。 最新のコネクト スタンバイをサポートしていないネットワーク アダプターはオフになります (D3)。

    ネットワーク サブシステムに通知が送信されました。

    通常は、1 秒未満です。

    回復性フェーズ

    ここで、明示的に許可され、付加価値ソフトウェア アクティビティはアクティベーター を介して実行できます。 その結果、システムは定期的にアイドル状態とアクティブ状態の間を移行する可能性があります。

    システムは、SoC が最低電力モードに入り、アイドル状態の状態を維持する準備ができています。

    • PDC 回復性クライアントには、システムが回復性フェーズにあるという通知が表示されます。
    • Session-0 サービスは DAM によって、30 秒間ごとに 1 秒以下のアクティビティに調整されます。
    • 電源マネージャーは、アクティベーターがリファレンスをオンにして、それによりシステムがアクティブな状態を維持するまで待機します。

    • システムは、ユーザーの入力または電源ボタンを押したことにより、スタンバイ状態を終了します。
    • システムは、システムメンテナンスを実行するためにメンテナンス フェーズに移行します (これは Sleepstudy のScreen Off セグメントとして表示されます)。

    システムが DRIPS で費やす大部分の時間です。

    Windows が回復フェーズに入った後、ソフトウェアは低電力運転の備えが十分にできていると見なされます。 すべてのデバイスが低電力モードに入るとすぐに、SoC とコア チップセットは、「モダン スタンバイのためのハードウェアの準備」の説明に従って、最低電力アイドル モードになります。

    現時点では、システム設計者がこれらのフェーズの動作を変更または影響を与える手段はありません。これらはWindowsの動作の中核となる部分です。 詳細についてはこちらで説明しているので、システムのデバッグや開発に役立ててください。

    次の図は、これらのフェーズが全体的なモダン スタンバイ セッション フローにいかに適合するかを示しています。

    figure 1: Diagram showing modern standby system states and their relationship to software phases

    Desktop Activity Moderator

    Desktop Activity Moderator (DAM) は、すべてのデスクトップ アプリケーションを一時停止してサードパーティ システム サービスのランタイムを調整するために使用する Windows コンポーネントです。 DAM の目的は、基本的ソフトウェアの既存のアプリケーションやサービスとの互換性を有効にし、スタンバイ中のバッテリ時間への影響を軽減することです。

    Windows は、DAM フェーズが完了した後、モダン スタンバイのあらゆる部分でデスクトップ アプリケーションが起動するのを防ぎます。 Windows では、DAM フェーズが完了した後、サードパーティ システム サービスを調整済みモードで実行するのを許可します。