非同期再投影/Asynchronous Reprojectionとは何か?有効にする方法は?

2016年12月23日

非同期再投影/Asynchronous Reprojectionは、SteamVR(OpenVR)向けのフレーム予測技術です。

描画処理が追い付かない場合に、最新の描画結果を予測することで、没入感が損なわれたり、VR酔いを起こりにくくします。

結果として性能の低いPCでも一定のVRの体験を得ることができます。

同様の技術としてOculusが開発したAsynchronous Timewarpがあります。この二つはほぼ同じものです。詳細は次の記事を参照してください。

Asynchronous TimewarpはOculus Rift専用の技術です。そのため、HTC VIVEではAsynchronous Timewarpが利用できません。そこで代わりとなるのが非同期再投影/Asynchronous Reprojectionです。

どこが違う?

Asynchronous Timewarpは2016年3月のOculus Rift CV1の発売に合わせて準備されました。

その後Valveが同様の技術を2016年10月頃に公開しました。時期を見てわかるように、非同期再投影/Asynchronous ReprojectionはAsynchronous Timewarpの完全なるクローンです。

ただし、2016年12月現在では、nVidia製のGPUのみがサポートされており、AMDのGPUでは利用できません。

Asynchronous TimewarpはAMDのGPUでも利用できるため、ハードウェアとしては対応できるはずですが、まだ対応の予定は明らかにされていないようです。

長らくAMDのGPU(Radeon)では非同期再投影はサポートされていませんでしたが、2017年4月にようやくサポートされました。

SteamVR(OpenVR)では必ず非同期再投影/Asynchronous Reprojectionが使われる

前述のとおり、Oculus Rift向けにはAsynchronous Timewarpがありますが、SteamVR上で動くソフト(OpenVRを使って開発されたソフト)ではAsynchronous Timewarpが使われずに非同期再投影/Asynchronous Reprojectionが使われます。(ObductionなどOculusモードを選ぶことができるタイトルもいくつかは存在します。)

ソフトをOculusHomeかSteamVRどちらで買うかを考える際には留意しておいた方が良いでしょう。

利用する方法は?

Asynchronous TimewarpはOculus向けのソフトをOculus Rift上で動作させていれば自動的に有効になりますが、非同期再投影/Asynchronous Reprojectionは設定で明示的に有効にする必要があります。

有効にするには以下の手順を踏みます。

  1. まずSteamVRを起動します
  2. ヘッドマウントディスプレイやコントローラのアイコンが並んでいるウィンドウの左上をクリックし、メニューから設定を選択します
  3. 左の パフォーマンス を選んでから非同期再投影を許可を選択します

asynchronous-reprojectioin-config

これで非同期再投影/Asynchronous Reprojectionを有効にすることができました。

低い性能のPCでの動作に寄与するか?

非同期再投影/Asynchronous Reprojectionを有効にすることで、無効の時よりもより高いスペックを必要とするソフトが動くようになるのか、という問いの答えは半分Yesで半分Noです。

どういうことかというと、非同期再投影/Asynchronous Reprojectionはあくまでも緊急比難的に使うものです。つまり普段は90fpsで動いているけど、一瞬処理が重くなったときにたまたま頭を大きく動かした場合に、体験が悪くなり気持ち悪くなってしまうような状況を軽減するための物です。

このとき、視界が頭の動きに付いてくるだけで、視界に映る景色そのものの更新は止まっています。つまり敵や背景の動きはカクついて見えます。描画フレームレートが落ちて非同期再投影/Asynchronous Reprojectionが発動しているような状況が長く続くと、体験は明らかに低下してしまいます。

ですので、性能がぎりぎり足りているようなソフトに効果がある、と言えます。

一方で、Asynchronous Spacewarp(ASW)と呼ばれる、視界に映る景色そのものをなめらかにしてしまう技術もあります。Oculus Riftでしか利用できませんが、こちらは確実に低い性能のPCでの動作させるときの体験を向上させます。

高性能なPCでも有効にする必要があるのか?

非同期再投影/Asynchronous Reprojectionは、性能の低いPCでも一定のVRの体験を確保するための技術であり、描画が間に合わずにフレームが落ちてしまう場合を救うためのものであると説明しました。

では、性能の高いPCで有効にしておくメリットはあるのか?という疑問が湧いてきます。

理論的にはフレーム落ちが発生しなければ、有効・無効にかかわらず同じ動作をするはずなのですが、まだたまに画面がちらちら点滅したりフレームレートが安定しないなどの不具合もあるようです。

そのため、Geforce GTX 1080以上を使っているなど、性能に余裕がある場合は無理に有効にする必要はないかもしれません。

詳細な仕組みが知りたい

Oculus開発者向けの説明を見ると詳細を理解することができると思います。

スポンサーリンク