【VRChat】AMD Radeon用の起動オプション「disable-amd-stutter-workaround」を検証

普段からVRChatの起動オプション「disable-amd-stutter-workaround」を使った方が良さそうという話をしていますが、今回Radeon RX9070XTを試す機会に恵まれたため、追加で検証を行うことにしました。Radeon RX7900XTとの簡単な比較も交えてあります。

試すことができたのは、Radeon RX 9070 XT Steel Legend Dark 16GBです。

disable-amd-stutter-workaroundとは

VRChatで使用できる起動オプションです。VRChatが自動的に適用しているRadeon用のスタッター回避策を無効にします。つまり、VRChatがRadeon環境での動作に対して細工をしなくなるという事です。

設定時は先頭にハイフン2つが必要です。

--disable-amd-stutter-workaround

起動オプションはSteamライブラリを開いて、VRChatのプロパティに入力します。(常時有効にしたい場合)

Disables a rendering workaround that helps prevent stutter on AMD graphics cards. Does nothing on non-AMD GPUs.

It is not recommended to disable this workaround, as it may lead to stutters, but advanced users can set this flag for testing.

このスタッター回避策は2024年10月にVRChatへ正式導入されました。当時のRadeon環境では、VRChatプレイ時に画面がガタついたりする不具合が起きていたため、VRChat側で細工することで対応したという経緯があります。

Radeon環境では自動で有効になるもので、多くの場合上手く機能していました。但し、「少々ハッキーな事」をしているらしく、導入された時期的にも古くなっているため、既に意図したとおりに機能しなくなっている可能性が考えられます。そういったときにこのオプション(disable-amd-stutter-workaround)を使って回避策の無効化を試します。

動作確認環境

検証機の方がやたら有利な構成ですが、動作の傾向は変わらなかったのでひとまずこのままにしておきます。

メインPC検証機
  • ASRock B650 LiveMixer(AGESA ComboAM5 1.2.0.3g)
  • Ryzen 9 7950X3D
  • SAPPHIRE PULSE Radeon RX 7900 XT GAMING OC 20GB
  • DDR5-5600 64GB
  • Windows 11 Pro 25H2
  • 【備考】空冷クーラー、デュアルディスプレイ(WQHD x2)
  • ASUS TUF GAMING B850-PLUS Wi-Fi(AGESA ComboAM5 1.2.7.0)
  • Ryzen 7 9800X3D
  • Radeon RX 9070 XT Steel Legend Dark 16GB
  • DDR5-5600 64GB
  • Windows 11 Pro 25H2
  • 【備考】水冷クーラー、シングルディスプレイ(WQHD x1)、Windows新規セットアップ直後
  • SteamVR 2.15.1 beta
  • Virtual Desktop 1.34.14
  • PICO Connect 10.6.6
  • PICO 4 Ultra 5.14.5.U
  • AMD Software:Adrenaline Edition 25.12.1
  • AMD Chipset Drivers:7.11.26.2142
  • HAGS:オン
  • ゲームモード:オフ
  • 電源プラン:バランス
  • 電源モード:最適なパフォーマンス

Virtual DesktopとPICO Connectは同じ解像度とビットレートに設定しました。

Virtual DesktopPICO Connect
  • 解像度:High 2592x2592px
  • H.264+ 300Mbps
  • 解像度:Super 2592x2592px
  • AVC 300Mbps

VRCMark v2の基準に合わせて、中プリセットにしてあります。

VRChatのグラフィックス設定
プリセット:中(アンチエイリアス設定が2倍に設定されるものです)

VRChatに設定した起動オプションは以下の物が含まれます。

--disable-amd-stutter-workaround --enable-hw-video-decoding -screen-width 320 -screen-height 240
【7950X3Dに限り追加で適用】--affinity=FFFF
https://docs.vrchat.com/docs/launch-options

検証についての注意事項

厳密な検証を行うものではない

本検証はVRChatの起動オプションの有無でパフォーマンスの差が出るかどうか、どういった傾向が見られるかを確認するためのものです。PC構成によって伸び幅が異なることが予想されます。

検証結果は同一構成における最高パフォーマンス例ではない

検証環境での測定結果は、最高パフォーマンスが出せているとは限りません。環境によってはより高いパフォーマンスが発揮できる可能性もあります。

あくまでも「この程度の動作は期待できる」という目安として見てもらえると幸いです。検証結果とお手持ちの環境を比較して、明らかにパフォーマンスが低いようであれば設定の見直しなどを行ってみてください。

非ネイティブヘッドセットのみの検証

Meta QuestやPICOのような非ネイティブのヘッドセットでの検証結果となります。Value IndexやHTC VIVE、Bigscreen Beyondのようなネイティブのヘッドセットでは結果が異なる可能性があります。

VRCMark v2での検証結果

テストにはVRCMark v2を使用します。アバターも併設されているRobotに切り替えています。

VRChat - Home
VRCMark v2 by Hellcat|へるねこ - a virtual reality world on VRChat

VRChatの起動オプションに「disable-amd-stutter-workaround」を入れたり消したりして、7950X3D/7900XTの環境と9800X3D/9070XTの環境で、それぞれベンチマークを行いました。

スコアが向上した部分は赤色で示しておきます。

トータルスコア

PICO ConnectとVirtual Desktop単体で見ると、「disable-amd-stutter-workaround」を使った方がスコアやフレームレートが向上していることが分かります。全体的に見るとVirtual Desktopの方が優位となる結果が出ています。

RoomC1/C2

CPU負荷を検証するシーンです。パフォーマンスの上昇幅は微々たるものですが、少なくとも悪化はしないようです。

RoomG1/G2

GPU負荷を検証するシーンです。スコアがほぼ同一なので、GPU部分に関してはあまり変化がないと言えそうです。

スコアとフレームレートは向上する傾向

誤差程度の僅かなブレはありますが、「disable-amd-stutter-workaround」を使用してスタッター回避策を無効にした方がフレームレートが出やすいという一貫した傾向が見られました。

この傾向は7900XTと9070XTの両方で同じでした。RDNA3とRDNA4で違いはないようです。

スタッターも僅かに軽減

「disable-amd-stutter-workaround」というオプション名に反して、スタッターも僅かに軽減されるようです。今回のようなベンチマークでは大きな差が出ないので分かりにくいのですが、回避策を無効にする方が安定しているようです。

下のグラフを見ると、「disable-amd-stutter-workaround」を使って回避策を無効にした方が2フレーム間のフレームタイム差が小さくなることが分かります。

その他にも、以前「Avatar Museum 12」を3倍速で移動するテストを行ったときは顕著な違いが見られました。Virtual Desktopではスタッターの割合が1%から0.1%まで大幅に低下しています。

ワールド内を歩き回る前に、最初の10秒ほどはVRChatのメニューを出し入れする動作をテストする内容なのですが、オプション無しの場合だとメニューを出したときに激しくスパイクが生じる事が確認できます。後半部分は展示アバターが次々と表示されるのですが、やはり「disable-amd-stutter-workaround」を使う方がフレームタイムのスパイク具合が控えめです。

「Avatar Museum 12」Virtual Desktopでのテスト結果

「Avatar Museum 12」PICO Connectでのテスト結果

7900XTと9070XTの差について

どちらも「disable-amd-stutter-workaround」を使う方が良好

パフォーマンスの差はありますが、「disable-amd-stutter-workaround」を使った方が僅かに良好な結果が得られる傾向にあるのは変わりないようです。

解像度を3Kに上げても同じ

解像度を3K相当に上げてみましたが、VRCMark v2においては7900XTよりも9070XTの方がパフォーマンスが高いようでした。もちろんCPUの差やディスプレイ枚数の違いで、7900XTの方が全体的に不利な条件ではあります。

但し、アンチエイリアスを4倍にすると逆転する

解像度を3Kにしたまま、VRChatのグラフィックス設定を高に変更してみました。影設定など幾つかの内容が変更されますが、その中でも一番影響が出るのはアンチエイリアス設定です。

9070XTのスコアが7900XTを下回った部分を青色で示しておきます。

高設定ではアンチエイリアス(MSAA)がX2からX4に上がるため、7900XTよりVRAMの帯域幅が狭い9070XTの方が不利になります。MSAAの倍率を上げるとメモリ消費量や帯域幅を消費するというデメリットについては、Unity公式の解説動画でも取り上げられています。

ちなみに、高設定(4X MSAA)の場合でも、「disable-amd-stutter-workaround」を使用した方が良い結果となる傾向は変わらないようです。

アンチエイリアス設定とVRAM帯域幅については追加で検証を行いましたので、別記事として分離しました。

【VRChat】Radeon RX9070XTとRX7900XTではどっちが有利?アンチエイリアス設定の違いを検証
前回VRCMark v2でベンチマークを行った際、MSAAの倍率によってはRX9070XTとRX7900XTのスコアが逆転する結果が出ました。今回は特にアンチエイリアス設定に着目して、どちらの方がパフォーマンスが出やすいのかを検証してみます...

Virtual DesktopとPICO Connectの差

PICO ConnectはGPU面では有利、CPUは状況次第

PICO Connectの方がRoomG1/G2のスコアが良いという結果が見られました。フレームレート的にはたったの1~2FPS差とはいえ、GPUパフォーマンスは良好そうです。

それに対してCPUのテストでは、結果に違いが見られました。

PICO Connectは中程度のCPU負荷が掛かるシーンとされる、RoomC1の結果が良くなるという傾向が出ました。RoomC2では、Virtual Desktopの方が明らかにCPUスコアが良いという結果が出ています。CPU高負荷時はVirtual Desktopの方が有利に働いているように見えますね。

RoomC1/C2の概要については以下に引用いたします。

【RoomC1】
中程度のCPU負荷がかかるシーンです。
数人がインスタンスに居る普通のワールドを想定しています。

【RoomC2】
高いCPU負荷のかかるシーンです。
オブジェクトが大量に配置されたワールドや、参加人数の多い集会イベントなどを想定しています。

この違いが一体どういった理由で生じたのか正確には分かりませんが、内部構造が大きく異なるので良し悪しで判断するのは難しいところです。PICO Connect 10.6.6では「低~中スペックPCにおけるゲームパフォーマンスを最適化しました」という詳細不明の更新が行われたので、ps_server内で何かしらの調整が利いているのかもしれません。

また、Virtual DesktopとPICO Connectはどちらも無線ストリーミングを行うタイプの接続方式ですが、PICO Connectに関してはSteamVRからダイレクトモードのドライバーとして認識されているように見受けられます。(モーションスムージングを始め、特有の設定項目が追加で表示される)

これは仮説ですが、PICO ConnectはSteamVRから見てネイティブのVRヘッドセットと近い挙動を示すので、Virtual DesktopのようにVR Server内で全ての処理を完結せず、大半の処理をps_serverへ橋渡しをする設計のように思えます。そのため、CPU高負荷時はVR Serverからps_serverへのパイプラインが詰まるのかもしれません。

その影響か、GPU処理の面ではPICO Connectの方が有利な結果が出ています。Virtual DesktopのようにVR Server内で様々なVRヘッドセットへの汎用性やAPI周りを考慮しながら全ての処理を行うよりも、VR Serverは最低限の処理をしてps_serverにデータを渡し、ps_server側でPICO特化の処理をしてもらって出力する方がGPU処理のパスが最速となるのではないかと考えます。まぁ、微々たる差なんですが。

VRChatのメニューを出し入れするときの挙動

「disable-amd-stutter-workaround」を使用すると回避策が無効になるので、GeForceと同じ挙動になる事が確認できます。

本来であればVRChatのメニューを表示するとCPU側がスパイクする挙動をします。しかし、Radeon環境ではスタッター回避策が自動適用される関係か、GPU側がスパイクする挙動を示します。スタッター回避の為に意図的にGPU処理のウェイトを掛けているのかは分かりませんが、そうすることでVRChat側で同期ずれを抑えるような細工をしているのかもしれませんね。

1年前に試したときは、PICO Connectにおいてかなり悪い状況だったのを改善できたことがありました。メニューを出した後にフレームレートが不安定になってしまうトラブルを「disable-amd-stutter-workaround」で解消できています。恐らく現在は発生しない問題です。(AMD Software:Adrenaline Edition 24.12.1)

Radeonに関係する他の起動オプションについて

Radeon環境の場合、動画再生に関する起動オプションが関係してきます。

動画再生にGPUのハードウェアアクセラレーションを使用しない(disable)・ハードウェアアクセラレーションを使用する(enable)のどちらかが選択できます。

起動オプションを使用しない素の状態では「Unity Video Player」だけがハードウェアデコードで動画再生が行われます。

disable-hw-video-decoding

--disable-hw-video-decoding

動画再生にGPUを使用しなくなり、CPUに処理を任せるオプションです。

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

enable-hw-video-decoding

--enable-hw-video-decoding

こちらは動画再生をGPUで行うよう強制するオプションです。

「Unity Video Player」だけではなく「AVPro」でもハードウェアデコードで再生したいという場合に試すことが可能です。但し、一部の動画でエラーが生じるなど、動画再生に問題が生じる可能性があります。

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

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

VRChatをデスクトップモードで起動して、タスクマネージャーでGPUの詳細項目を「Video Codec Engine」に切り替えて確認します。動画プレーヤーのあるワールドでデコーダーが動いているか確認しましょう。

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

まとめ

テストから推測される動作の傾向

  • 少なくともRX7000/9000シリーズ(RDNA3/RDNA4)の環境では「disable-amd-stutter-workaround」を使う方がフレームレートが僅かに向上し、スタッターも減る傾向にあった
  • 主にCPU側に何らかの影響があるように見受けられる(スタッター回避策がCPUを僅かに使用しているか、CPU側に待ち時間が発生している?)
  • 現行のハードウェアとドライバーで奇妙なスタッターが生じないという前提であれば、余計なことをしない方がオーバーヘッドが生じないので有利
  • 7900XTより9070XTのが高いパフォーマンスを発揮しやすいが、アンチエイリアスを使用するなどしてVRAMの帯域幅が不足すると立場が逆転するように見える(別記事で追加検証)
  • 9070XTではアンチエイリアス設定(MSAA)は2倍までにしておくのが無難
  • どちらもRyzenX3D環境なので、それ以外のCPUでの動作は未確認
  • ベンチマークテストにおいては一貫して良い傾向が見られたが、VRChatのパブリックインスタンスのような過酷な場所では違いが分からない可能性がある

その他の情報

  • 詳細は不明だがRX6000シリーズ(RDNA2)についてはパフォーマンスが大幅に上がったという報告もある
  • 2024年12月頃から発生していた「PICO Connectで最高フレームレートが出にくい問題」も「disable-amd-stutter-workaround」で回避できたことがある
  • 「disable-amd-stutter-workaround」に関係なく、Virtual Desktopの90Hz設定でギリギリ89~90FPSとなる場面ではSteamVRダッシュボード表示中に画面が頻繁にちらつく現象が起こる場合がある(90FPS張り付き状態や、安定してフレームレートが低い場合は起こらない)

disable-amd-stutter-workaroundは使った方が良い?

個人的な意見として、PICO Connect環境なら「disable-amd-stutter-workaround」の使用を推奨します。1年以上使用していますが、問題なくプレイできています。

Virtual Desktopについては利用時間が短いのでなんとも言い難いですが、使った方が良い結果が得られる傾向にありそうです。違和感があれば「disable-amd-stutter-workaround」を使わないというつもりで、一度試してみるのが良いでしょう。

DisplayPort接続の有線系HMDではどうなるのかは分かりません。ただ、まるでネイティブヘッドセットのように振る舞っているPICO Connectのことを考えると、使用した方が上手く動作する可能性が高いのではないかと推測します。

手元の環境では大きな変化はありませんでしたが、スタッター回避策を無効にしたことで動作が劇的に改善したという報告もあるので決して無視できない起動オプションです。

そもそもVRChatのスタッター回避策というのが、具体的にどんなことをしていたのかが全く分かりませんし、たまたま当時のドライバーでは上手く機能していただけという可能性もあるでしょう。当時のVRChatのリリースノートを読むと、主にワイヤレスストリーミング時(非ネイティブヘッドセット使用時)に作用しやすいという話や、結局のところ何が原因なのかは分からないと言っています。

Currently, we use a slightly hacky workaround to prevent stutter in certain VR configurations on AMD GPUs (usually when wireless streaming).

Now, first off: Don’t expect any magic bullets here. Our internal investigation shows that the workaround does not cause any performance drops, and we are keeping it enabled by default. However. We do also see people continuing to report AMD weirdness, and we do take it seriously. Unfortunately (?) we’ve almost entirely ruled out any possibility that this is being caused by our code directly. It might be the AMD driver, it might be Windows, it might be hardware, who knows🤷

VRChat 2024.4.1
October 30, 2024 - Build 1533

様々な問題があった昔とは異なり、現在のRadeonは2024年12月のドライバーでVR関連の大きな修正(Photon Latencyの改善)が入ったり、2025年10月にも改善が入っているという状況にあります。VRChatに実装されたRadeon用のスタッター回避策は、それよりも前に作られたのでもしかすると既に役目を終えているかもしれません。そういった処理は僅かながらもオーバーヘッドとなってしまうことが考えられるので、画面が常に揺れ動くようなスタッターが起きていないのならVRChat独自の回避策を有効にしておく必要はないでしょう。

とはいえ、一部のPC環境ではまだ有効な回避策として機能する点については否定しません。普段過ごしているワールドや交流するフレンドのアバター構成など、VRChatのプレイスタイルによっては「disable-amd-stutter-workaround」を使ってスタッター回避策を無効にしているとパフォーマンスが悪化することもありそうです。オプションの有無を試して感触の良かった方を採用するのが最良の選択だと思います。

created by Rinker
SAPPHIRE
¥135,963 (2026/01/22 07:40:08時点 Amazon調べ-詳細)
タイトルとURLをコピーしました