スリープ中も一部の処理は行なう
Connected Standby
OSがバックグラウンドのMetroアプリを強制終了できるとはいえ、バックグラウンドでも動作しなくてはならないMetroアプリもある。そのためWindows 8ではいくつかのシナリオに対して、アプリ側に代わってバックグラウンドで処理を行なうAPIを用意した。そのシナリオには以下のようなものがある。
- 音楽の再生
- ウェブサイトからのファイルのダウンロードと ウェブサイトへのファイルのアップロード。ライブタイルによる最新のコンテンツの表示。
- 印刷
- VoIP通話の受信
- インスタントメッセージの受信
- 電子メールの受信
- コンテンツの共有(Facebookへの写真アップロードなど)
- デバイスとのコンテンツ(写真など)の同期
これらの作業ならば、Metroアプリは自身で処理を行なう必要はなく、Windows 8側にバックグラウンドの処理を任せて、自身は一時停止したままでかまわない。システム側ではほかの処理との兼ね合いを考えて、アイドル時間が長くなるように処理の実行タイミングを調整したり、ハードウェアが持つ機能を利用する※2などして、システムを低消費電力状態に保ちつつ作業を実行する。
※2 音楽の再生専用のハードウェアやGPUのビデオ再生処理機能など。一般的にハードウェア処理のほうが、システム全体の消費電力は下がる。
また「Connected Standby」状態(図4)は、画面など不要なデバイスの電源を切ってシステムを低消費電力状態に置くが、システムは止めずにネットワークからの受信処理などを行なうモードだ。スマートフォンやタブレットの待機状態のような機能で、システム自体の実行が完全に止まる、PCのスタンバイ状態とは違う。
Connected Standby状態では低消費電力で受信を実現するために、ハードウェアによるアシストを利用する。例えば、無線LANコントローラー内で受信したパケットが、自分宛かどうか判断できるようなパターンマッチング機能や、必要に応じてシステムを復帰させられる機能を搭載する。
一方でConnected Standbyが処理中の間は、デスクトップアプリケーションは止めておく必要がある。そのため「Desktop Activity Moderator」というモジュールが、デスクトップアプリケーションをスタンバイ状態と同じに保つようにしている。Connected Standbyでは一定時間ごとに必要な部分だけを起動させるが、このときにもデスクトップアプリケーションとデスクトップ側のサービスプロセスは、スタンバイ状態に置かれたままになる。常に動いているようなデスクトップアプリケーションであっても、Connected Standbyの間は完全に停止しており、バッテリー消費に影響を与えない。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ