[GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは | ニコニコニュース

[GDC 2016]Oculusの「Rift」を使うならOSは「Windows 10」がベスト? 開発者向けセッションで明らかになったその理由とは
4Gamer

 GDC 2016の3日目である北米時間2016年3月16日,Oculus VRは,「Building for the Rift with the Oculus PC SDK」と(PC用SDKを用いた,Rift用の開発)と題する技術セッションを行った。
 基本的には,仮想現実(以下,VR)対応型ヘッドマウントディスプレイ(以下,HMD)「Rift」向けアプリケーションを制作する開発者向けのセッションなのだが,RiftとWindows 10の関係や,Rift用のホームアプリといった具合に,興味深い情報がいくつも出てきたので,要点をまとめてみよう。セッションを担当したのは,Oculus VR(以下,Oculus)のエンジニアであるAnuj Gosalia氏だ。

■Riftを快適に使うにはWindows 10の最新ビルドがベスト

 VR HMDでは,不快感をもよおす原因になる遅延や表示のJudder(ジャダー,カク付き。3Dグラフィックス業界では「Stutter」と呼ぶことが多い)をいかになくすが,アプリケーション制作において非常に重要となっており,Oculusでは,それを開発者に周知して,対策をとるように促している。


 そんなOculusが提唱する遅延低減の仕組みの1つが,「非同期タイムワープ」(Asynchronous TimeWarp,ATW)だ。これは,遅延低減テクニックとして知られるタイムワープの改良版である。

 非同期タイムワープについて詳しく説明するのが本稿の趣旨ではないため,詳細は,西川善司氏による解説記事1解説記事2を参照してもらうとして,大雑把に説明しておこう。「頭部の動きを取得したセンサーの情報をもとにしてレンダリングした映像を,頭の動きに合うよう位置をずらして描画するときに,V-Sync同期を待たない」のが,非同期タイムワープと呼ばれる手法である。


 PlayStation VRの開発元であるSony Computer Entertainmentは,同様の手法を「Temporal Reprojection」(時間再射影)と呼んでいる。呼び名は違うが基本原理は同じで,VR HMDには必須の手法といっていい。

 この非同期タイムワープを実現するためにOculusでは,「GPUプリエンプション」――GPUが処理を一時中断して,別の処理を行う機能のこと――を用いているのだが,Gosalia氏は「GPUプリエンプションはまだ完全ではない」と言う。


 そこでMicrosoftが,Windows 10に非同期タイムワープを実現するための改良を加えたそうだ。改良が加えられたのは,Windows 10のビルド番号「10586.14」であるとのこと※。つまり,Riftで非同期タイムワープを正しく機能させるには,ビルド番号10586.14以降のWindows 10が望ましいことになる。幸いなことに,Windows UpdateでWindows 10を最新の状態に保っているなら,ビルド番号は10586.14以降になっているはずなので,ユーザーがとくに何かする必要はないはずだ。

※Windows 10のビルド番号を確認するには,OS標準の「Winver」アプリを実行するのが簡単だ。

 Gosalia氏によると,NVIDIAは「GeForce 361.91 Driver」以降,AMDは「Radeon Software Crimson Edition 16.3 Hotfix」以降のドライバで,Windows 8.1および7でも非同期タイムワープを利用できるようにしているという。「ただ,それでもWindows 10(のビルド番号10586.14以降)がよりベターである」(Gosalia氏)。

 VRアプリケーションにとって重要な手法である非同期タイムワープだが,万能の切り札というわけではなく,いろいろなトレードオフがあるとGosalia氏は述べる。たとえば,「非同期タイムワープによって小さなJudderが起こる」(Gosalia氏)ほか,現行世代のGPUによるGPUプリエンプションがまだ完全でないといった問題があるそうだ。ただ,「次世代のGPUでは,GPUプリエンプションがより完全なものになるはずだ」と,Gosalia氏は述べているので,2016年以降に登場する新アーキテクチャのGPUに期待といったところか。

 Gosalia氏は,非同期タイムワープ以外にもWindows 10のほうがRiftを利用するのに向いている理由をいくつか説明していた。その1つは,グラフィクスメモリの扱い方にある。


 Rift用VRアプリケーションは,多くのグラフィックスメモリを必要とする場合が多いのだが,グラフィックスメモリが不足してメモリページングが起きた場合,Windows 8.x/7とWindows 10では挙動が異なるという。Windows 8.x/7では「グラフィックスを使うアプリケーションのすべてが停止する」(Gosalia氏)のに対して,Windows 10のメモリ管理は賢くできているため,アプリケーションの動作に影響が出ても表示が停止するようなことは起こりにくくなっているそうだ。
 さらに,DirectX 12では「リソースの非同期読み込み」(Async resource load)といったことが可能なので,その点でも表示が停止しにくいという利点があるということだった。

 Gosalia氏の説明をまとめると,Riftは事実上,Windows 10が推奨OSということになるようだ。Riftを導入しようとしている人は,PCのOSをWindows 10に移行することも検討しておくべきかもしれない。

■Riftのホームアプリは「Oculus Home」


■アプリを一時停止すると「Universal Menu」に遷移

 テクニカルな話から打って変わって,次の話題はRiftのアプリケーションに関するものだ。

 Rift用アプリケーションは,Windowsのデスクトップから起動できるのは当然だが,Oculusが用意する独自のホームアプリ「Oculus Home」からも起動できる。Riftを装着したままでも使いやすいように作られているので,Rift用アプリケーションを起動するときは,こちらを使うのがメインになるかもしれない。

 Oculus HomeからVRアプリケーションを起動したあとで,VRアプリケーションを一時停止すると,「Universal Menu」という汎用メニュー画面に切り替わる。ここでアプリケーションを終了させると,またOculus Homeに戻るという動作になるそうだ。


 PlayStation 4やXbox Oneのホーム画面的な機能をRiftで実現しているのが,Oculus Homeであると考えれば分かりやすいだろうか。

 こうした仕組みがあるので,,アプリケーションは一時停止やOculus Homeに戻るといった動作を考慮して作成しましょう,というのが,開発者に向けたGosalia氏のメッセージである。ゲーマーとしては,Riftを利用するときには,こういう操作ができるということを覚えておけばいいだろう。

 3月28日にはRiftの出荷が始まるので,早い人には月内か,4月早々に届くことになりそうだ。Oculus HomeやUniversal Menuの使い心地を,早く実機で試してみたいものである。

リンク:Oculus VR 公式Webサイト


リンク:4Gamer GDC 2016関連記事一覧

―――――――――――――――――――――――――――――


記事URL:http://www.4gamer.net/games/195/G019528/20160317140/
→この記事を4Gamerで読む(※画像などがすべてある完全版です)
―――――――――――――――――――――――――――――
関連タイトル:
・HARDWARE Rift

―――――――――――――――――――――――――――――


Copyright (C) 2000-2016 Aetas, Inc. All rights reserved.