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

2017年7月29日

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

他のアプリ-ケーションを終了させる

トラブルが起こった場合に真っ先に試しているとは思いますが、改めて確認します。

タスクバーを右クリックしてタスクマネージャを開くとアプリケーションの一覧が表示されますので、不要なアプリケーションは全て終了させておきましょう。

普段は全然処理を行っていないようなアプリケーションでも、一定周期で負荷の高い処理を行っており、それがカクつきの原因になっていることも多々ありますから、このアプリケーションは起動させておいても大丈夫、と安易に考えず一通り終了させておきましょう。

ChromeやFirefoxといったWebブラウザも開いているサイトによって負荷の傾向が変わりますから、こちらも要注意です。

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

VRのパフォーマンスを引き出す上でWindows10の利用はほぼ必須です。まずWindows10を使っていない場合はこちらの記事も参照して下さい。

Windows10がVRに最適な理由・まだ間に合う無料アップグレード

そんな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プラットフォーム対応させるための重要な基盤ですが、そのサポート範囲の広さ故に仕組みも複雑です。

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