フレームレートのボトルネックの調べ方や赤外線にまつわる問題など、知ってると少し便利なhtc VIVEに関してのTips集や小ネタをメモっておく。
VRプレイ中にフレームレート低下の原因を調べる
VRは高いPCパフォーマンスを求められる。VR専用タイトルであれば最適化が万全だが、VR対応タイトルはVR用の最適化が十分でないケースが多く、VRレディのPCでもフレームレートが安定しない事がある。htc VIVEには標準でCPU,GPUのフレームタイミングを確認し、パフォーマンスのボトルネックを推測する機能が備わっている
1:SteamVR→設定
2:パフォーマンス→フレームタイミングを表示
3:PC上にフレームタイミングが表示される
フレームタイミンググラフからCPU,GPUそれぞれのボトルネックを確認する事ができる。秒間90フレームを維持するためには両者11ms以内に収まっている必要がある。
(30フレームの場合33msなので、その3分の1)
従ってグラフの11ms以内にCPU、GPU双方のアイドル部分が収まっていなければならない。アイドル部分の余裕を確認する事で全体的に「GPUヘビー」なのか「CPUヘビー」なのかを推測する事ができる。
ただしGPU負荷が瞬間的に上がるスパイクが発生すると引っ張られてCPUもヘビーになるケースがある。この辺りは筆者も未だ詳しく追えてない。後日、別記事で詳細を追いかけてみる。「詳細」をクリックすると更に詳しく情報を見る事ができる。
意図的にフレームドロップを発生させた状態↑
4:ヘッドセット内で確認する
ヘッドセットに表示をチェックする事でVR内でもグラフを確認する事ができる。VRゲームを確認しながら処理が重い場面やオプションを確認する際に便利だろう。
下記のようにコントローラーの右側面に表示される。尚、グラフの板ポリゴンが反転(反対は非表示描画)されているので普通に構えていると表示されない。腕を捻って確認しよう。
ベースステーションが放つ赤外線の影響(TVリモコン)
htc VIVEはベースステーションから放たれる赤外線でヘッドトラッキングを行っている。そのため赤外線を用いた電気機器はhtc VIVEを起動中は正しく動作しない事が多い。
テレビのリモコンなどは赤外線の影響で効きにくくなる。この場合はSteamVRを終了する際にベースステーションをスリープにする設定を行う事で回避できる。
以下の記事の方法でベースステーションのスリープが可能である。ただし環境によってはベースステーションの起動が異常に遅いといったトラブルも。
ベースステーションが放つ赤外線の影響(ワイヤレスヘッドホン)
TVのリモコンと同様な原因で、赤外線を利用するワイヤレスヘッドホンは利用できないケースがある。筆者の環境でもSony製の赤外線タイプのヘッドホンはノイズが入ったり、音が途切れたりと動作が安定しなかった。
付属のインイヤータイプのヘッドホンはVR中にズレたりして没入感が著しく削がれる。音に深い拘りがなければ、2000円程度のオーバーイヤータイプの軽量な有線ヘッドホンを用いるのも良いだろう。(200gを超えてくるとVRヘッドセットと相まって頭が重くなる)
*無線方式やBluetooth方式なら安定するかもしれない
SteamVRを起動していると消費電力が上がる疑惑
SteamVRを起動した状態の場合、ヘッドセットがスリープ状態に移行してもGPUのメモリクロックが上がった状態で維持されている。GPUがアイドルに移行しないので慢性的にシステム全体の消費電力が上がる。
・StamVRを起動して放置し、ヘッドセットがスリープになった状態
・StamVRを終了した直後にアイドルになる
長時間利用しない場合はSteamVRは落として置いた方が良いだろう。