Windows 10ユーザーズ・ワークベンチ
Windows 10で実装されたモダンスタンバイを試す
(2015/12/9 06:00)
Windows 10 th2では、スリープ状態の新しいフレームワークとして「モダンスタンバイ」と呼ばれる機能がサポートされている。今回は、そのどこが“モダン”なのかを見ていくことにしよう。
IntelとMicrosoftの新しい蜜月
IntelとMicrosoftは、Windowsと第6世代CoreであるSkylakeプラットフォームの合わせ技によって、これまでの2in1 PCがもたらした「新しい当たり前」を、「さらに新しい当たり前」にしようとしている。そのために両社は密接な連携のもとに技術的な協業を続けてきたし、Windows 10 th2には、その成果の一部が機能として実装されている。
両社ともに、新しいプラットフォームを過去のプラットフォームと比べて格段に高速で快適で楽しいものだとアピールしているが、3~5年前のプラットフォームに比べれば、その差は歴然だというのは、当たり前と言えば当たり前だが、実際に使ってみて、改めて痛感する。
Skylakeで導入された新機能Speed Shift Technologyはその一例だ。ハードウェアP-Stateをサポートすることで、OSとは独立した電力消費の最適化を可能にした上で、OSであるWindowsの細かいオーダーを受け付けるというもので、処理性能と消費電力のバランスを絶妙にコントロールできるようにした。これまでよりも高い動作クロックが使われることにもなるが、処理によってはこの機能のオン/オフによって半分の時間で完了するため、消費電力の点では省エネに繋がっている。
Speed Shift Technologyは、既に、Windows 10 th2に実装され、Skylakeプラットフォームでは稼働しているはずだ。「はずだ」と書いたのは、この機能が有効になって稼働しているかどうかをエンドユーザーが知る方法がないからだ。
言ってみれば、全力を出してさっさと仕事を終わらせ、さっさと眠りにつくのがこれまで以上にうまくなったのが、SkylakeでのWindows 10だ。プラットフォームとしては、かなり素性のいいもののように感じてはいる。
Connected StandbyからInstantGo、そしてモダンスタンバイへ
Windows 8以降ではConnected Standbyと呼ばれる機能が実装されていたのはよく知られている。また、この機能はのちにInstantGoと呼ばれるようになっている。これは、Huswellこと第4世代コアで導入されたS0ixというステートを利用している。
InstantGoでは、PCがスリープ状態にある時にも、モダンアプリについてはネットワーク接続を維持し、必要な通信処理をOSに委ねることで、スリープ中であっても、ずっと接続状態にあったかのようにふるまうことができる。スマートフォンなどでは、スリープ中にも電話は着信するしメールも届くように、当たり前の機能として提供されているものだが、Windows PCにはそれができなかった。その部分を改善するべく、鳴り物入りで登場したのがInstantGoだった。
だが、実装は難しい上に、対応できる周辺デバイスも限られ、ハードウェアのコストが随分高くなってしまうという短所とのトレードオフだった。そのため、対応PCは、レッツノートMX3や、かつてのソニーVAIO Duo 13など、一部の製品に限られていた。
しかも、このInstantGoの有効/無効を決められるのは、そのPCを提供するハードウェアベンダーだけで、エンドユーザーが自由に決めることはできなかったのだ。
ただ、IntelのCompute StickがInstantGoをサポートしていることを確認した時には、ちょっとびっくりした。考えてみたら、TVのHDMI端子に刺しっぱなし、電源も供給しっぱなしで、TVのチャンネルの1つであるかのように、PCを使えるというのがコンセプトなのだから、スリープ状態にある間もネットワーク接続を維持できるのは便利と言えば便利だ。最低限の周辺デバイスしか実装されていないシンプルなデバイスだからこそのものだろう。この機能のサポートがコストに大きなインパクトを与えるとは思えない。
それでも、モバイルノートPCを1分でも長い間バッテリで稼働させることを願うユーザーにとって、InstantGoは「悪」以外のなにものでもなかった。せっかくスリープさせているのに通信を続けてバッテリを消費するなど言語同断という論調も強かった。消費されるのは本当にわずかな電力なのだが、それでもバッテリ駆動時間にはある程度のインパクトはあるから、仕方がないことだ。
少しでもバッテリを節約するために
そこで、おそらくは折衷案として登場したのが「モダンスタンバイ」だ。Windows 10 th2では、スリープ時のWi-Fi接続を維持するかどうかを、電源接続時、バッテリ駆動時のそれぞれでユーザーが自由に設定できるようになった。なお、この記事を書いている時点で、その実装を実際に確認できているのは、今のところ、th2に更新したSkylake搭載の「Surface 4 Pro」のほか、InstantGoをサポートしていたHuswell搭載の「Surface 3 Pro」や「レッツノートMX3」、そしてAtom搭載の「Surface 3」などだ。第5世代Core以前のInstantGo機はそのままモダンスタンバイをサポートするようになっているのか、それともモダンスタンバイとは別の実装で同機能をサポートしているのかは不明だ。
スリープ中に通信ができるのはWindowsユニバーサルアプリと、従来のモダンアプリだけだ。OSのサービスは停止し、Win32アプリも完全な眠りにつく。いわゆる標準のメールやインスタントメッセージなどがOSに通信を委ねる仕組みだ。
スリープ中にWi-Fiをオフにすることで、この機能は当然使えなくなってしまう。だが、Connected StandbyをサポートしたPCは、スリープ中のネットワーク接続維持だけを目的にしているわけではない。「Connected Standby」から「InstantGo」に名称が変わったことから想像できるように、スリープからの復帰についてプラットフォーム全体での応答性を高めている。
さらに、Skylakeプラットフォームでは、th2では未実装だが、近い将来、ハードウェア的にスリープ中のDSPをコントロールしてWake On VoiceでCortanaを起こすようなことも予定されている。
つまり、スリープ中の通信は必要ではなくても、InstantGoに対応することで、結果としてユーザーは多くのメリットが得られる。そして、それを実現するのが、モダンスタンバイというわけだ。
よりよいモバイル体験のために
現時点で、モダンスタンバイは必ずしもきちんと機能しているわけではないように見える。例えば、Surface Pro 4では、スリープ中のWi-Fiをオフにするように設定しておくと、スリープ解除後、Wi-Fiがオフになったままになっているという不具合があるようだ。少なくとも手元の実機ではそうなってしまう。復帰のたびにWi-Fiを再有効化しなければならないため、かえって面倒だ。これについてはシステムファームウェアの更新などで改善されると期待している。
さらに、前述のように、モダンスタンバイがサポートされているのはSkylakeプラットフォームだけなのかどうかも現時点では分からない。PCのユセージモデルを左右する興味深い機能であり、さらに近い将来のモバイルノートPCの使い勝手を高めるはずのものだけに、MicrosoftのSurfaceのみならず、ほかのベンダーも追随して欲しいところだ。