SteamVRがカクつく・ぶれる場合の確認事項6つ

2017年7月29日

SteamVR対応のソフトで画面がカクカクする、輪郭が二重にぶれる、画面が止まる、などのトラブルが生じた際の解決方法をまとめます。

Windows10のゲームモードを無効にする

VRのパフォーマンスを引き出す上でWindows10の利用はほぼ必須ですが、Windows10が持つゲームモードはSteamVRの動作に悪影響を与えます。

ゲームモードとは

ゲームモードとはWindows10のCreatorsUpdateから追加された、OSの中でゲームプログラムの優先度を上げる仕組みのことです。

それによりゲームと関係ないバックグラウンドで動作するシステムプログラムからCPUを奪うことができ、よりゲームを快適に動作させられるようになります。

なぜゲームモードを無効化する必要がある?

SteamVRを初めとしたVRプラットフォームでは、バックグラウンドのプロセスがヘッドマウントディスプレイの6軸センサ情報やトラッキング情報を処理しています。

つまり、これらの処理の優先度が下がってしまうと、センサの処理が追いつかなくなってしまいます。

現在のゲームモードでは、動いているゲームが必要としているバックグラウンドサービスを特別扱いすることは無いため、バックグラウンドサービスの動作が必要VRにとっては邪魔な機能になってしまいます。

ゲームモードの無効化方法

  1. タスクバー左端にある「Windowsのアイコン」をクリックするか、キーボードの「Windowsキー」を押してスタートメニューを開きます。
  2. スタートメニューを開いたら「歯車のアイコン」をクリックして Windows の設定を開きます。
  3. ○の中に×が書かれている「ゲーム」のアイコンを選びます。
    Windows設定
    Windows設定

  4. ゲームのウィンドウを開いたら、左メニューから「ゲームモード」を選択します。

  5. 「ゲームモードを使用する」の項目をクリックし「オフ」にします。
    Windowsゲーム設定
    Windowsゲーム設定

SteamVRを再起動する

タスクトレイやウィンドウからSteamVRを終了させたつもりになっていても、実は関連するサービスがゾンビのように残っていたりします。

Windowsごと再起動させるのが確実ですが、以下のプロセスをタスクマネージャから強制終了させることでも根っこからSteamVRを起動し直すことができます。

  • vrcompositor.exe
  • vrmonitor.exe
  • vrserver.exe

以下の内容のファイルを steamvr_kill.bat として保存しておき、ダブルクリックで使用しても良いでしょう。

taskkill /IM vrcompositor.exe
taskkill /IM vrmonitor.exe
taskkill /IM vrserver.exe

非同期再投影の有効・無効を切り替える

非同期再投影の設定方法を参考に有効無効を切り替えてます。この設定がどう言うものか知りたい人もこちらの記事を参照して下さい。

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

SteamVRをbetaにアップグレードする

SteamVRをbetaにアップグレードすると最新の機能が使えるようになったりします。かえって不安定になることもありますが、不具合の修正も頻繁にされており、試してみる価値はあるでしょう。

betaの変更履歴はこちらから確認できます。

beta への切り替え方法

  1. Steamアプリの「ライブラリ」から「VR」カテゴリを開きます
    steamvr-beta-goto-library

  2. ツールの中にある「SteamVR」を右クリックし、ポップアップメニューから「プロパティ」を選びます
    steamvr-beta-goto-property

  3. ウィンドウが開いたら上段タブにある「ベータ」を選択します

  4. 「参加希望のベータを選択して下さい」のドロップダウンメニューで「beta – SteamVR Beta Update」を選び、ウィンドウを閉じます
    steamvr-beta-property

元に戻す方法

「参加希望のベータを選択して下さい」のドロップダウンメニューで「なし」を選び直します。

ラグの原因をメニューで確認する

SteamVRのメニュー画面やOculusRiftの場合はOculusのメニュー画面をさらに表示させることで、どの部分でラグが生じているのかが分かります。

  1. カクつきを感じるシーンを用意します
    2. (OculusRiftの場合限定) Oculusボタン(つぶれたOのボタン)を押してOculusメニューを表示させて、同様にカクつくかを確認します

    • カクつく場合はセンサーのセットアップ等にに問題があります
    • 問題なければ次へ
  2. メニューボタン(三の用な三重線のボタン、ハンバーガーボタン)を押してSteamVRのメニューを表示させて、同様にカクつくかを確認します
    • カクつく場合はSteamVRそのものの問題です。beta に切り替えたり再起動を試してみます
    • カクつかない場合はそのタイトル固有の問題(PCの性能が足りていないなど)です
  3. SteamVR設定の「パフォーマンス」から「Perf Heuristicを有効」にし、カクつくシーンに戻って表示されるグラフが赤くなってないかを確認します
    • 赤くなる場合は性能不足です

最後に

SteamVRは一つのソフトを、複数のVRプラットフォーム対応させるための重要な基盤ですが、そのサポート範囲の広さ故に仕組みも複雑です。

完成度もまだ発展途上と言うこともありますので、何かおかしい点を確認したら上記の内容を思い出してみて下さい。