【VRChat】AMD RadeonでVRをするときに確認しておくこと・トラブルシューティング

モンハン需要やPCの新調などで、Radeonを購入する人が増えました。前向きな理由で買った人もいれば、消極的な理由で買わざるを得なかったという人もいるかもしれません。特にVRChat用途で購入した場合は、過去の評判を聞いて不具合があるのではないか、情報が何もないのではないかという不安を感じていることかと思います。

そんなトラブルに遭ったとき、対処方法が分からないことでRadeonを買ったことを後悔してほしくはないのでこの記事を書きました。様々な問題についての対処法を網羅しているわけではありませんが、追加情報を調べるヒントとなれば幸いです。

注意事項

トラブル解決への足掛かりになる事を目的としており、各種アプリの操作手順といった内容を幾らか端折っています。また、環境によって動作が異なる場合や、今後のアップデートにより最新の情報ではなくなる事が考えられますので、ここに書かれていることを鵜呑みにせず公式情報を参照するなどしていただけると幸いです。

何か操作を行う際は作業内容とその結果をメモしておき、問題の切り分けなどで役立てられるようにしておきましょう。ここで紹介する各種設定については自己責任となりますので、予めご了承ください。

モーションスムージングをオフにする(※強く推奨)

真っ先に確認しておくべき項目です。

SteamVRのモーションスムージングはデフォルトでオンになっています。特にDisplayPortに接続する有線のVRヘッドセットにおいて、まともに遊べないという問題はこれが原因であることが多いです。

詳細は端折りますが、モーションスムージングは90FPSが出せないような環境でフレーム補間を行って、擬似的に90FPSにするような機能です。一見有用そうな機能ですが、残念ながらRadeonに限らずGeForceでも問題を引き起こすことがよくあるため、必要がなければオフにしておくことをおすすめします。

また、AMD Software:Adrenaline Edition 25.3.1においてモーションスムージングを使用すると「vrcompositor.exeがメモリリークする問題」があるとのこと。

もちろん、正常に動作する環境もあるため、設定をオフにする前に現状を記録しておくことをおすすめします。SteamVRのパフォーマンスグラフやfpsVRなどを用いると良いでしょう。設定のオン・オフで数値的な変化があるかどうか確認して記録しておくと後々役に立つことがあります。

1, SteamVR側のモーションスムージングをオフにする

SteamVRの設定内でモーションスムージングをオフにします。

「アプリケーションごとの動画設定」でも無効になっているかどうかを確認しておきましょう。

ここで無効にしてもまだ動作しているようであれば、設定ファイルの書き換えを試します。

2, SteamVRの設定ファイルで変更・確認する

VRヘッドセットの接続方式によってはSteamVRの設定にモーションスムージングの項目が表示されないことがあります。その場合は、SteamVRの設定ファイルを直接書き換えてモーションスムージングを無効にします。環境によってはSteamVR内で設定してもちゃんとオフにならないこともあるので、念のために確認しておくことをおすすめします。

【デフォルトの設定ファイルの場所】(※基本的に変更しない)
"C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings\default.vrsettings"
【ユーザー設定ファイルの場所】
"C:\Program Files (x86)\Steam\config\steamvr.vrsettings"

ユーザー設定ファイルとデフォルトの設定ファイルの2つがある

デフォルトの設定ファイル(default.vrsettings)には「DO NOT EDIT THIS FILE TO CHANGE YOUR PERSONAL SETTINGS.」と注意書きがあるので、まずはユーザー設定ファイル(steamvr.vrsettings)の方を書き換えます。

ユーザー設定ファイルが存在しない場合や、内容を書き換えても上手く行かないようならリスクを承知の上でデフォルトの方を書き換えてください。注意点として、デフォルトの設定ファイルはSteamVRのアップデートの際に上書きされます。

書き換える内容

“motionSmoothing”と書かれている場所を探し、trueからfalseに書き換えます。一番最後の行に書き足す場合はカンマ(,)を入れてしまうと文法エラーが生じますのでご注意ください。

書き換えた後に一度SteamVRを起動し、motionSmoothingがtrueに戻ってしまっていないか確認してください。

困ったときはクリーンインストール

設定ファイルのバックアップを取ってなかったり、おかしな事になって元に戻せなくなったときはSteamVRのクリーンインストールを試すことが可能です。

予めSteamを終了しておき、以下の設定ファイルを削除します。

  • C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings\default.vrsettings
  • C:\Program Files (x86)\Steam\config\steamvr.vrsettings

次にSteamライブラリからSteamVRをアンインストールします。

アンインストール後に残っているデータがあれば削除します。

  • C:\Program Files (x86)\Steam\steamapps\common\SteamVR

3, 各種接続アプリケーションで設定を確認する

手元にQuestとPICOしかないので、無線のVRヘッドセットに関してのみ紹介します。DisplayPortで接続する有線のVRヘッドセットの場合も、専用の接続アプリに該当する項目があるかもしれないので要チェック。

Quest Link/Air Linkの場合

OculusDebugToolを使用して設定を変更します。この方法では毎回設定が必要なのと、管理者権限での起動が必要です。

OculusDebugTool
"C:\Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool.exe"

ASWがAutoになっているので、Disabledに変更します。

Oculusデバッグツール
Oculusデバッグツール(ODT)の使用方法について説明します。

ここの設定を変更して上手く動作するようであれば、他の手段で設定の永続化を検討します。例えばレジストリの変更や別のユーティリティでのアプリ別設定が可能とのことですので、以下を参考に試すことができます。

【VRChat】FPSが出ないのは性能不足のせいじゃないかも...? ~PCVRのフレーム補間について~ - Qiita
注意この記事は、PCVRでゲームをプレイする際にはたらくASW/SSWなどのフレーム補間技術について触れたものです。ターゲットは主にQuest/PICOのHMDを使うPCVRユーザーになります。VIVEやINDEXなどをはじめとするPC接続...

Virtual Desktopの場合

こちらはSteamVR側のモーションスムージングとは異なるのですが、Synchronous Spacewarp(SSW)を常時有効(Always enabled)にすると画面が点滅したりする場合があります。

これはWindows 11 24H2かつH.264/H.264+コーデックで287Mbps以上のビットレートに設定をしていると生じる既知の問題とのこと。こちらに関しては24H2起因のようで、GeForce環境でも起こることが考えられるため、「Disabled」に設定しておくのが無難です。

PICO Connectの場合

PICO Connect 10.5以降では「フレーム補間(Frame Interpolation)」がASWに該当します。ただ、こちらに関しては独自に動作している可能性もあり、有効にしてもメモリリークする問題は確認されませんでした。

とはいえ、これは性能が低い環境でなんとか動かす為の機能なので、基本的にオフにしておけば大丈夫です。こちらについては、近日中に提供される「PICO 4 Ultraの5.13.x.Uアップデート」と「PICO Connect 10.5.xのアップデート」で変更がある可能性があるため、詳細が判明次第追記いたします。

モーションスムージングの利点について

個人的な立場としては無効にするのを薦めていますが、モーションスムージングはできるだけ多くの環境でVRを楽しめるように用意された機能です。

正しく機能すればスペックの足りないPCでも遊べるようになりますし、VR対応の高スペックな環境でもあえて設定して負荷を下げたり、余裕ができた分レンダリングを高解像度に設定したりする用途で使われることもあります。また、ゲームによってはフレーム補間による描画の乱れも目立ちにくいでしょうから、特段問題がなければ好みでオン・オフを使い分けるのが良いのではないかと考えています。

ただ、残念ながらトラブルが起こる原因となってしまう事がよくあるため、何らかの問題が起きている場合はモーションスムージングをオフにして様子を見ることをおすすめしています。

Virtual Desktopなどのコーデック設定について

Radeonのドライバー側の変更や、Virtual Desktopなどのソフトウェア側の変更によって、特定のコーデックで問題が起こることがあります。

特に問題が起こりやすいのがHEVCコーデックの10bitモードです。何か問題が生じた際は、8bitのHEVCコーデック(Virtual DesktopではHEVCとだけ表記)やH.264(AVC)コーデックを使用します。

その他にはPICO 4のような正方形解像度のVRヘッドセットを使う場合に、画面の端に表示の問題が発生する事があります。かつてHEVCやAV1で発生していた問題で既に対策済みですが、諸々のエンコーダー不具合が修正されているRX9070シリーズにてその対策が裏目に出ていると思われる不具合報告を1件確認しています。RX9070シリーズとPICO 4やPICO 4 Ultraを使用していて問題がある場合は一時的にコーデック設定の変更をしての対処をお試しください。

SteamVRのその他の設定

「レンダリング解像度」を自動から「カスタム」に切り替えて100%に設定しておきます。自動設定は負荷に応じてスケーリングを変更しますが、適切に機能しないことが多いです。自動設定ではフレームレートが低いにもかかわらず逆に解像度を上げてしまって高負荷が掛かってしまうことがあります。

CSMを無効にする

Radeon RX9000シリーズからはUEFIモードのみをサポートし、CSMはサポートしないと明言されています。

https://www.amd.com/en/resources/support-articles/faqs/GPU-N4XCSM.html

万が一CSMが有効になっている場合は「無効」にし、「AMD SmartAccess Memory」または「Resizable BAR」といった項目が有効になっていることを確認します。(※これはCSM無効でないと利用できない機能です)

Windows 11に正式対応している最近のPCであればあまり気にすることもないと思いますが、CSM有効かつMBRのパーティションでWindowsをインストールしてしまった場合は、パーティションをMBRからGPTに変換しないとCSM無効で起動しなくなるトラブルが起きることが考えられます。

根底的な部分を変更することになるので、CSM有効で動作している環境に対してCSM無効にしておきなと軽率なことは言いにくいのですが、既に古いものとなっていますのでUEFIモードで動作するようにしておくのが望ましいです。

2020年までにUEFIからBIOS互換を削除 Intel
Intelは、2020年までにUEFIのBIOS互換を非推奨とし、互換モジュールの「Compatibility Support Module」を削除する計画を明らかにした。

Windowsのメンテナンスとグラフィックドライバのクリーンインストール

簡単な紹介となりますが、Windows自体が破損していると話にならないので、確認と修復をしておきます。

あまりにも酷い壊れ方をしている場合はDISMとSFCで対処できないと思われるので、Windowsのクリーンインストールをすることになります。

システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する - Microsoft サポート
システム ファイル チェッカー ツールを使用して、Windows でシステム ファイルが見つからない、または破損している場合のトラブルシューティングを行う方法について説明します。

グラフィックボードを載せ換えたときや、アップデートで不調を感じたときはDDUを使ってグラフィックドライバのクリーンインストールを行います。

特にグラフィックボードを載せ換えたときは要注意。ゲームの設定ファイルにNVIDIA向けの設定が残っているとゲームやPCがクラッシュする事があるので、それらもちゃんと削除しなければならない場合があります。

Display Driver Uninstaller (DDU) download latest version 18.1.0.0
Official Display Driver Uninstaller (DDU) download website. DDU is a driver removal utility that can help you completely...

これらのメンテナンスは時々気にしておくと良いでしょう。

AMD Softwareが起動しなくなったときは

時々、設定ファイルなどが破損してAMD Softwareが起動しなくなることがあります。DDUやAMD Cleanup Toolsを使用して再インストールしても良いのですが、多くの場合CNフォルダを削除すると復旧します。

CNフォルダを削除する
%USERPROFILE%\AppData\Local\AMD\CN

AMD Softwareの設定などがリセットされるので再設定しておいてください。

Windows側の設定の確認

高速スタートアップを無効にする

機能の詳細については割愛しますが、Windowsで様々な問題を引き起こす原因として有名な「高速スタートアップ」を無効にします。SSDにWindowsをインストールするのが主流となった今ではメリットがなく、高速スタートアップを使用するデメリットの方が大きいです。

"コントロール パネル\すべてのコントロール パネル項目\電源オプション\システム設定"

「現在利用可能ではない設定を変更します」をクリックし、「高速スタートアップを有効にする(推奨)」のチェックを外します。

チェックを外したら「変更の保存」をクリックして保存しましょう。

尚、高速スタートアップは休止状態の機能に依存しているため、休止状態が無効となっている場合は高速スタートアップの項目が表示されません。

ハードウェアアクセラレータによるGPUスケジューリング(HAGS)

基本的にオンにしておく方が望ましいです。但し、特定のハードウェア構成で不具合が生じてしまう場合は、HAGSをオフにして問題が解決するかどうかを試すことができます。

Hardware Accelerated GPU Scheduling - DirectX Developer Blog
Introduction to Hardware Accelerated GPU Scheduling. Modernizing the GPU scheduler at the heart of the Windows Display D...

ウィンドウ ゲームの最適化

引っ掛かったりカクついたりなど、動作に問題があるときにこの設定を変更することで改善するかどうか試すことができます。

システム全体でのオン・オフも可能ですし、アプリケーションのカスタム設定から個別にオン・オフできます。

GPUのユーザー設定

上記と同じ設定項目内で、アプリケーション別に使用するGPUを指定することができます。例えばCPU内蔵グラフィックスが搭載されている環境でトラブルが起きる場合に使用します。

SteamVRのオーバーレイ表示でデスクトップ画面が出ないなどのトラブルも、自動的にCPU内蔵グラフィックスが指定されてしまっていることで起きているらしく、ここの設定でグラフィックボードを指定する(ハイパフォーマンスに設定する)ことで改善する可能性があります。

ネットワークアダプターの省電力設定をオフにする

Radeonとは関係ありませんが、よくあるトラブルなので紹介します。Virtual DesktopやPICO Connectなどを使用していて接続が安定しないときに確認する設定です。

お使いのネットワークアダプターによって表示される項目が異なりますが、省電力に関連する設定をオフにします。USB接続でVRをする場合はUSBのセレクティブサスペンドもオフにしておくと良いかもしれません。

こちらはWindows Updateやドライバーの更新のタイミングで、ネットワークアダプターの省電力設定が有効に戻っている事があります。定期的にチェックしておきましょう。

AMD Softwareの設定を確認

基本的にデフォルト設定でOK

グローバル設定はデフォルトのままで大丈夫です。もちろん、不要だと思う機能があれば無効にしても構いません。念のため、ゲーム別設定の両方を確認しておきましょう。

VRChat 個別設定

有効にしてもVRChatでは機能しないものが殆どなので、多くの設定は有効にしなくてもOKです。関連する物だけ個別に解説します。

AMD Fluid Motion Frames

AFMFは汎用的なフレーム生成機能です。フルスクリーンまたはボーダレスウィンドウで動作する様々なゲームで利用できますが、VRモードでは動作しません。

但し、VRChatをデスクトップモードで遊ぶ場合はAFMFを使用することができます。AFMFを有効にする場合は垂直同期無効にし、VRChatのウィンドウをAlt + Enterでフルスクリーン状態にすると動作するようになります。テアリングが発生するので、FreeSyncに対応したディスプレイを使うのがおすすめです。

VRで遊ぶときにVRChatのウィンドウがフルスクリーン状態になっていると、無駄にAFMFが動作することになるので無効にしておくか、ウィンドウモードの状態にしておきます。余談ですが、VRChatのウィンドウをできるだけ小さくしておくと少しだけ負荷が小さくなります。

Radeon Chill

FPSリミッターです。AFMFと組み合わせるときに過剰にフレームレートが出ないようにリミッターを掛けることができます。VRモードで使用する場合も作用しますが、あえてフレームレートを制限したい理由が無ければ有効にする必要はありません。

垂直リフレッシュを待機

垂直同期のことです。「アプリケーションで指定しない限りオフ」のままにしておきます。オンにするとディスプレイのリフレッシュレートで固定されてしまうので、VRモード時に60FPSで頭打ちするといった場合はここがオンになっていないか確認します。

テッセレーション モード

現在は「AMDの最適化」のままで問題はありません。

テッセレーションはハイポリのモデルをそのまま使用するのではなく、ローポリからハイポリを復元することでメモリや帯域幅を節約する目的で使われていました。具体的にはローポリをリアルタイムに分割してハイポリ化するのに使用したり、分割したポリゴンに対してディスプレイスメントで凹凸を作ったりといった使われ方をするようです。

ちなみに元々ハイポリのモデルに対してテッセレーションを使うのは負荷が高くなるので、VRでの利用はあまりお勧めできません。特にVRChat向けモデルはローポリで作られていることが少なく、どれもポリゴン数が多いので尚更です。

テッセレーション | lilToon
アバターを用いたサービス向けに開発した多機能トゥーンシェーダーです。

もし特定条件下においてどうしても問題が起こるという場合は「アプリケーション設定を使用する」に変更します。また、最大テッセレーションレベルをコントロールしたいという強いこだわりがあれば「アプリケーション設定をオーバーライドする」に変更します。ここを変更すると、テッセレーションを使用しているシェーダーで見た目の変化が生じることが考えられますので、特にオーバーライドした場合は動作確認を行っておきましょう。

余談

現在はいくらか状況が変わっているとは思いますが、その当時(DirectX11が使われるようになった2010年頃)テッセレーションに対する考え方の違いがありました。テッセレーションでポリゴンが過度に細かくなることを想定して、そのボトルネックの解消に注力していたNVIDIAに対し、AMDの場合はハイエンドGPU以外でもテッセレーションを利用することを想定しており、一般的なゲームでの利用に最適化した調整になっていたようです。テッセレーション周りでの違いは、このような経緯が関係しているのかもしれませんね。

【後藤弘茂のWeekly海外ニュース】 DirectX 11テッセレータを改良した「Radeon HD 6800」

VRChatの設定

起動オプション

起動オプションは色々とありますが、Radeonに関連する部分だけ紹介します。

起動オプションはSteamライブラリを開いて、VRChatのプロパティに入力します。

https://docs.vrchat.com/docs/launch-options

–disable-amd-stutter-workaround

VRChat独自のRadeon向けスタッター回避策を無効にする設定です。基本的に使用しません。

このスタッター回避策は自動で有効になるもので、多くの場合上手く機能します。但し、かなりトリッキーな事をしているらしく、特定の環境ではむしろ悪影響が出てしまう事があります。そういったときにこのオプションを使って回避策の無効化を試します。

例えば、AMD Software 24.12.1以降かつ「PICO Connect」などの特定の接続方式では「–disable-amd-stutter-workaround」を設定しておかないと本来のパフォーマンスが出なくなる問題がありました。(今後直ったら追記します)

具体的には、90Hzに設定したPICO Connectで接続してVRChatをプレイすると軽い場所でも70~80FPS辺りを彷徨いて90FPSまで出せなくなり、その状態から72Hzに設定を変更すると50~60FPSしか出ないような状況になります。また、VRChatのメニューを出したときにGPUフレームタイムがスパイクする特徴があります。元々VRChat自体が72~90FPSきっかり出せる場面の少ないゲームなので気が付きにくい問題です。

但し、これはRX7000シリーズ固有の現象である可能性もあり、今後のドライバーやPICO Connectなどのアップデートで気付かぬうちに改善がされることを考慮しておく必要があります。もし違和感があれば回避策の無効化を一度試してみてください。設定したことを忘れないように注意。

PICO ConnectとVirtual Desktopを併用する場合は、Virtual Desktop使用時にオプションを使わないようにする必要がありますので、オプションありとなしのVRChat起動用ショートカットを用意しておくと良いかと思います。

–disable-hw-video-decoding

動画再生をCPUに任せるオプションです。Radeon環境の場合、このオプションを使用しない状態では「Unity Video Player」だけがハードウェアデコードで動画再生が行われます。

CPU性能によってはパフォーマンスに影響する可能性があります。GeForceを使用している場合でも、動画再生に不具合が生じたときに試すことができます。

–enable-hw-video-decoding

動画再生をGPUで行うよう強制するオプションです。「Unity Video Player」だけではなく「AVPro」でもハードウェアデコードで再生したいという場合に試すことが可能です。

CPU側に余裕ができるので普段はオプションを有効にしておいて、不都合が生じてからこのオプションを外す運用でも問題なさそうに思います。

ハードウェアデコードしているかどうか確認するには

VRChatをデスクトップモードで起動して、GPUの詳細項目を「Video Codec Engine」に切り替えて確認します。QuestやPICOのような映像をストリーミングするタイプのVRヘッドセットを使用すると、ハードウェアエンコーダーが動作するので、VRモードだと確認するのが難しくなります。(※HAGSが有効の場合はHWエンコーダーとデコーダーはVideo Codec Engineでひとまとめに表示されるため)

グラフィック設定

Radeon固有というほどではありませんが、パフォーマンスに影響が出やすい項目のみ紹介。ここの設定を変えてもフレームレートが上がらない場合は、グラフィック以外の部分がボトルネックになっていることが考えられます。(ワールドのUdonギミックが頻繁にメモリアクセスしていて重すぎる、CPU性能が不足しているなど)

アンチエイリアシング

ポリゴンの輪郭に生じるジャギーに対して効果があるMultisample Anti-Aliasing(MSAA)です。「無効」「2倍」「4倍」「8倍」の設定があります。

ここの倍率によってフレームレートにかなりの差が出ます。「4倍」ぐらいが無難ですが、パフォーマンスが低く感じられる場合は「2倍」や「無効」に変更します。

ミラーの解像度

VRChatから警告されるように、「無制限」にするとパフォーマンスに影響を与えることがあります。ミラーを見ながら会話をしたいVRChatユーザーとしては考えなしに無制限としたいところですが、フレームレートやVRAMの使用量などを見つつ設定を検討しましょう。

細かさの度合い(LOD)

パフォーマンスに影響というか、設定を下げすぎると意図したとおりに表示されない事があります。特にアップロードされた時期が非常に古いワールドにおいて「低」に設定していると、オクルージョンカリングと組み合わさったときに上手く表示されない事がありました。

VRChatのその他の設定

「アバターのカリング」やセーフティ設定、ダウンロードサイズの制限などがありますが、今回は解説しません。

その他

ワールド制作のときに気をつけておくと良さそうなことをメモしておきます。

避けたほうがいい設定など

例えば、「D24_UNORM_S8_UINT」の深度テクスチャを使用すると問答無用でクラッシュするようでした。

Radeonで扱えない深度テクスチャ形式の話
発端はこちら。VRChatにて、「VR宇宙博物館 コスモリア Cosmoria」ワールドに入ろうとすると、ロード中にクラッシュしてしまうというもの。RX7000シリーズが対象になっているようですが、RX6000シリーズでも同様です。ドライバ...

また、極端に大きなポリゴン(床のスケールを数万倍に拡大するなど)を使用すると表示がチラついたりブレたりします。この問題は地平線や水平線を表現しようと考えて、単一ポリゴンで巨大スケールの地面や水面を置いてしまったワールドで遭遇しやすいように感じます。

程度の違いはありますが巨大すぎるポリゴンはNVIDIA GeForceの環境でも表示にいくらか影響が出るので、極端な数値設定などは避けるのが望ましいです。

Unityでのライトベイク

Unity標準の「プログレッシブ GPU ライトマッパー」を使用するときは、「プログレッシブな更新(ProgressiveUpdate)」にチェックが入っていると処理に時間が掛かってしまうようです。

これは一時的なプレビューのためにシーンビューに表示されている物を優先してベイクする機能らしいので、本番のベイク時はチェックを外しておきましょう。また、デノイザーはCPUベースのOpenImageDenoiseかGPU処理のRadeon Proを選択できます。

トラブルは報告しよう

表示の問題や予期せぬクラッシュなど、再現性のある不具合を見つけたときは「AMDバグレポートツール」での報告をおすすめします。ドライバーがクラッシュした際は自動起動するほか、AMD Softwareの虫アイコンをクリックするか、スタートメニューから「AMD Bug Report Tool」を開くことで起動できます。

難しいことは要求されませんので、エラーレポートに協力してみましょう。ゲームやアプリケーションのメーカーへ報告するのと同時に行っておくといつの間にか直っている事があります。

また、AMD公式のコミュニティに書き込んでみるのもありです。騒ぎ立てるのはやり過ぎですが、不具合というのは誰かが言わなければ気付いてもらえません。

AMD Community | AMD

2025/03/25:モーションスムージング関連の情報を追記

2025/4/13:コーデック設定について追記

タイトルとURLをコピーしました