SteamVRがカクつく・ぶれる場合の確認事項9つ
SteamVR対応のソフトで画面がカクカク・ガクガクする、輪郭が二重にぶれる、画面が止まる、などのトラブルが生じた際の解決方法をまとめます。
他のアプリケーションを終了させる
トラブルが起こった場合に真っ先に試しているとは思いますが、改めて確認します。
タスクバーを右クリックしてタスクマネージャを開くとアプリケーションの一覧が表示されますので、不要なアプリケーションは全て終了させておきましょう。
普段は全然処理を行っていないようなアプリケーションでも、一定周期で負荷の高い処理を行っており、それがカクつきの原因になっていることも多々ありますから、このアプリケーションは起動させておいても大丈夫、と安易に考えず一通り終了させておきましょう。
ChromeやFirefoxといったWebブラウザも開いているサイトによって負荷の傾向が変わりますから、こちらも要注意です。
アプリケーションのウィンドウを前面に持ってくる
普通にVRアプリケーションを起動するとウィンドウが最前面に来るので、ほとんどの場合は問題ないかもしれませんが、攻略サイトを見るなどウィンドウを切り替えることがたまにあると思います。一方でVRはヘッドセットの中を注視しますので、ウィンドウの状態についてついつい無頓着になりがちです。
デスクトップ向けのWindowsは、前面に来ているアプリケーションに対して多くCPUを割り当てるようになっていますので、ウィンドウを切り替えながら利用する際には、ウィンドウが前面に来ているかを気をつけるようにすると良いでしょう。
Windows10のゲームモードを無効にする
VRのパフォーマンスを引き出す上でWindows10の利用はほぼ必須です。まずWindows10を使っていない場合はこちらの記事も参照して下さい。
そんなVRに最適なWindows10ですが、Windows10が持つゲームモードと呼ばれる機能はSteamVRの動作に悪影響を与える場合があります。(大抵の環境ではプラスに作用する物の、一部の環境ではマイナスに作用してしまうようです。)
ゲームモードとは
ゲームモードとはWindows10のCreatorsUpdateから追加された、OSの中でゲームプログラムの優先度を上げる仕組みのことです。
それによりゲームと関係ないバックグラウンドで動作するシステムプログラムからCPUを奪うことができ、よりゲームを快適に動作させられるようになります。
なぜゲームモードを無効化する必要がある?
SteamVRを初めとしたVRプラットフォームでは、バックグラウンドのプロセスがヘッドマウントディスプレイの6軸センサ情報やトラッキング情報を処理しています。
つまり、これらの処理の優先度が下がってしまうと、センサの処理が追いつかなくなってしまいます。
現在のゲームモードでは、動いているゲームが必要としているバックグラウンドサービスを特別扱いすることは無いため、バックグラウンドサービスの動作が必要VRにとっては邪魔な機能になってしまいます。
ゲームモードの無効化方法
- タスクバー左端にある「Windowsのアイコン」をクリックするか、キーボードの「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
非同期再投影の有効・無効を切り替える
非同期再投影の設定方法を参考に有効無効を切り替えてます。この設定がどう言うものか知りたい人もこちらの記事を参照して下さい。
SteamVRをbetaにアップグレードする
SteamVRをbetaにアップグレードすると最新の機能が使えるようになったりします。かえって不安定になることもありますが、不具合の修正も頻繁にされており、試してみる価値はあるでしょう。
betaの変更履歴はこちらから確認できます。
beta への切り替え方法
- Steamアプリの「ライブラリ」から「VR」カテゴリを開きます
-
ツールの中にある「SteamVR」を右クリックし、ポップアップメニューから「プロパティ」を選びます
-
ウィンドウが開いたら上段タブにある「ベータ」を選択します
- 「参加希望のベータを選択して下さい」のドロップダウンメニューで「beta – SteamVR Beta Update」を選び、ウィンドウを閉じます
元に戻す方法
「参加希望のベータを選択して下さい」のドロップダウンメニューで「なし」を選び直します。
内部解像度を不用意に上げすぎていないかを確認する
SteamVRの設定画面には画面の描画解像度(内部解像度)を調整する仕組みがあります。この設定はアプリケーションごとに保存されますので、あるアプリケーションで設定を戻したと思っても、別のアプリケーションでは設定を変えたままになっていることが良くあります。SteamVRの設定メニューから戻し忘れが無いか、描画解像度を低めにするとどうなるかを確認すると良いでしょう。
解像度はSteamVRの設定メニューから変更できます。
1. タスクトレイのVRアイコンを右クリックし「設定」を選びます。
2. 設定の「一般」の中にある「レンダリング解像度」を「カスタム」にしてスライダーを調整します。
一方、Advanced VR Settingsで変更できる解像度設定は、このSteamVRの設定メニューから変更できる物とは別の物になっています。OpenVR-AdvancedSettingsを利用している場合はこちらも確認するようにして下さい。
ディスプレイドライバを最新に更新する・昔のバージョンに戻す
例えば NVIDIA GeForce ドライバの場合、バージョン 451.48 より後にリリースされたドライバにはSteam VRがカクつく不具合がありました。この不具合はバージョン 461.33 で修正され、2021年1月末時点では最新のドライバに更新することで改善されています。
GeForce の最新ドライバはここでダウンロードできます。
ラグの原因をメニューで確認する
SteamVRのメニュー画面やOculusRift/OculusLinkの場合はOculusのメニュー画面をさらに表示させることで、どの部分でラグが生じているのかが分かります。
- カクつきを感じるシーンを用意します
- (OculusRiftの場合限定) Oculusボタン(つぶれたOのボタン)を押してOculusメニューを表示させて、同様にカクつくかを確認します
- カクつく場合はセンサーのセットアップ等にに問題があります
- 問題なければ次へ
- メニューボタン(三の用な三重線のボタン、ハンバーガーボタン)を押してSteamVRのメニューを表示させて、同様にカクつくかを確認します
- カクつく場合はSteamVRそのものの問題です。beta に切り替えたり再起動を試してみます
- カクつかない場合はそのタイトル固有の問題(PCの性能が足りていないなど)です
- SteamVR設定の「パフォーマンス」から「Perf Heuristicを有効」にし、カクつくシーンに戻って表示されるグラフが赤くなってないかを確認します
- 赤くなる場合は性能不足です
最後に
SteamVRは一つのソフトを、複数のVRプラットフォーム対応させるための重要な基盤ですが、そのサポート範囲の広さ故に仕組みも複雑です。
完成度もまだ発展途上と言うこともありますので、何かおかしい点を確認したら上記の内容を思い出してみて下さい。
Oculus Rift/Oculus Rift S/Oculus Linkを使っている場合は、OpenCompositeを使うとパフォーマンスを改善できる可能性があります。
カク付きとは別に、床の高さが微妙におかしいけど、面倒なのでそのままにしている人はこちらの記事もどうぞ。
ディスカッション
コメント一覧
steamVRの設定で内部解像度が見つからないのですがどうしたらいいでしょうか?オキュラスクエストだとありませんか?
SteamVRの内部解像度(レンダリング解像度)はOculusQuestでも変更できるはずです。
ページの内容を更新して補足説明を追加しましたので確認してみてください。