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

大まかなスペック
AMD公式サイトやTechPowerUpあたりを眺めながらざっと用意したものです。数字だけ見るとRX7900XTの方が強そうなのですが、1世代新しくなったことで効率などが向上しています。多くのゲームにおいてはRX9070XTの方が+10%程高速となるそうです。
| Radeon RX9070XT | Radeon RX7900XT | |
|---|---|---|
| ストリーミングプロセッサ | 4096 | 5376 |
| TMU(テクスチャマッピング) | 256 | 336 |
| ROPs(最終出力) | 128 | 192 |
| CU(演算ユニット) | 64 | 84 |
| ピクセルレート | 380.2 GPixel/s | 460 GPixel/s |
| テクスチャレート | 760.3 GTexel/s | 810 GTexel/s |
| FP32(Float) | 48.7 TFLOPS | 51.6 TFLOPS |
| VRAM | GDDR6 16GB | GDDR6 20GB |
| メモリインターフェイス | 256bit | 320bit |
| メモリ帯域幅 | 640GB/s | 800GB/s |
| Infinity Cache | 64MB | 80MB |
| ベースクロック | 1660MHz | 1387MHz |
| ブーストクロック | 2970MHz | 2400MHz |
| ゲームクロック | 2400MHz | 2000MHz |
| TBP | 304W | 315W |
| 平均性能差 | +10% | – |
VRChat Homeで事前テスト
アンチエイリアス設定の有無でパフォーマンスの差が出ることは以前から気になっていたので、今回はそこに着目して検証を進めていきます。
まず、VRChatのグラフィックスプリセットを「高」に設定しておきます。アンチエイリアス設定である2xMSAAと4xMSAAをそれぞれ適用した状態で、GPUフレームタイムが11.1msをギリギリ下回る解像度を探してみました。Virtual DesktopのHigh解像度(片目2592x2592px)をベースに10%ずつ変更して確認します。
Radeon RX9070XT
2xMSAA
3664x3664pxで11.1msとなりました。
4xMSAA
3172x3172pxで11.2msとなりました。
Radeon RX7900XT
2xMSAA
3756x3756pxで11.2msとなりました。
4xMSAA
3380x3380pxで11.2msとなりました。
4xMSAAで性能が逆転するのは片目3K解像度付近?
VRCMark v2でベンチマークを取った際に、片目3120x3120pxの状態でVRChatのグラフィック設定を中から高に変更するとスコアが逆転したのと大体一致します。
RX9070XTのスコアがRX7900XTを下回った部分を青色で示しておきます。
必要なVRAM帯域幅を計算する
RX9070XTは片目3K解像度で4xMSAAを使うと遅くなるのは、VRAM帯域幅の差ではないかと仮定して計算してみます。適切な見積もりを出すには知識がなさ過ぎるので、細かな部分を考えずに大雑把に行きます。
- 片目解像度:3168x3168px(両目分でx2)
- リフレッシュレート:90Hz(90FPSが出せている前提の計算)
- カラーバッファはRGBA形式(各2Byteで合計8Byte)で深度バッファは4Byteで計算(合ってるのか?)
- 半透明オブジェクト多めと仮定し、オーバードロー4回程度を見積もり
- ややこしいので半透明部分のMSAA関連コストは考慮しないことにする
- ポストプロセス(ブルームやカラーグレーディングなど)はフレームバッファの4倍ぐらいで見積もり
MSAAなしの状態
1フレームあたりのピクセル数
片目ピクセル数:3168 x 3168 = 10,036,224
両目分:10,036,224 x 2 = 20,072,448(約2,007万px/フレーム)
フレームバッファ
カラーバッファ:20,072,448 x 8Byte = 160,579,584(161MB)
深度バッファ:20,072,448 x 4Byte = 80,289,792(80MB)
合計:161 + 80 = 241MB/フレーム
不透明オブジェクトレンダリング分
カラーのwrite1回と、深度のread + writeの2回で合計3回分
161 + (80 + 80) = 321MB/フレーム
半透明オブジェクトレンダリング分
半透明が多かったりパーティクルが飛び交ってるのを想定してオーバードロー4回ぐらい
1レイヤーあたり(read + writeで2回分):161 x 2 = 322MB
4レイヤー分:322 x 4 = 1,288MB/フレーム
ポストプロセス
ブルームやカラーグレーディングなどで、雑にフレームバッファx4ぐらいを想定
241 x 4 = 964MB/フレーム
1フレームあたりの合計
不透明+半透明+ポストプロセス
321 + 1,288 + 964 = 2,574MB/フレーム
90Hz換算
2,574 x 90 = 231,660(約232GB/s)
2xMSAAの場合
不透明レンダリング部分を2倍に
321 x 2 = 642MB/フレーム
不透明+半透明+ポストプロセス
642 + 1,288 + 964 = 2,894MB/フレーム
90Hz換算
2,894 x 90 = 260,460(約260GB/s)
4xMSAAの場合
不透明レンダリング部分を4倍に
321 x 4 = 1,284MB/フレーム
不透明+半透明+ポストプロセス
1,284 + 1,288 + 964 = 3,536MB/フレーム
90Hz換算
3,536 x 90 = 318,240(約318GB/s)
グラフでイメージを掴む
計算してみた結果をグラフにしてみました。少なくとも8倍にするのは避けた方が良さそうなのが明確に分かります。
実効速度を考慮
スペック表記にあるVRAM帯域幅が理論値で出せるかというと、きっとそんなことはないでしょう。
VRAM帯域幅159GB/sのGTX285(DDR3)のメモリベンチマークで0.71~0.83倍程度の結果が出ていることや、768GB/sのRTX A5000(GDDR6)の場合はピーク速度で0.88倍ぐらいというデータが見つかったほか、「70%以上の効率に達するのは難しい」という話もあります。
メモリのランダムアクセスやキャッシュミスなどの効率が悪くなる要素や、各種待ち時間、ROPが処理できる書き込みやブレンド処理などの限界で100%の速度は出せないという感じだと思われます。
実効帯域幅50%で見積もってみる
VRChatではどうなのかというと、最適化とはほど遠い最悪ケースが多いことでしょう。4Kのテクスチャだらけで、透過とポストプロセスがてんこ盛りです。Infinity Cacheも上手く作用しないものとし、実効帯域幅は50%程度になると仮定して計算してみます。
| Radeon RX9070XT | Radeon RX7900XT | |
|---|---|---|
| VRAM | GDDR6 16GB | GDDR6 20GB |
| メモリインターフェイス | 256bit | 320bit |
| メモリ帯域幅 | 640GB/s | 800GB/s |
| メモリ帯域幅@50% | 320GB/s | 400GB/s |
| 3168x3168px@90FPS | 2592x2592px@90FPS | |
|---|---|---|
| MSAAなし | 232GB/s | 154GB/s |
| 2xMSAA | 260GB/s | 174GB/s |
| 4xMSAA | 318GB/s | 212GB/s |
| 8xMSAA | 434GB/s | 290GB/s |
ワールド内に1人しか居ない状況のデータを参考にしていますので、実際はもっと悪くなることを考えると片目3Kでは4xMSAAが厳しいのは明らかです。
VRAM帯域幅だけではなく、ROP数の差などの複合的なボトルネックが生じると思いますので、4xMSAAを使うとRX9070XTでは処理が間に合わなくなる可能性がありそうです。
ROPは最終的な結果を書き出したり、MSAAなどの処理を担う部分です。ということは、解像度によってはVRAM帯域幅よりも先にROP側がボトルネックになる事がありそうです。
参考:ROP は何の略 | Coelacanth’s Dream
今回は扱っていませんが、RX9060XTだとRX9070XTの半分の性能(CU数32 ROP数64 帯域幅128bit 320GB/s)となるので、実効帯域を50%として160GB/sになるのを想定すると片目2592x2592pxでは2xMSAAすら難しいのが容易に想像できます。
片目2.5~3Kでは4xMSAAがボーダーラインになるというおおよその見当がついたので、幾つかのワールドで実際にテストをしてみます。
片目辺り3168pxから順にテスト
PICO 4 UltraとVirtual Desktopを使用し、H.264+ 600Mbpsの設定でテストしています。VRChatの設定はアンチエイリアス設定以外を全て最高設定にしてあります。(高プリセットベースでミラーを無制限に)
| 設定 | 解像度 |
|---|---|
| Godlike | 3168x3168px |
| Ultra | 2784x2784px |
| High | 2592x2592px |
使用するアバターはVRCMarkで使ったRobotでも良いのですが、今回は今どきのアバターを使っていると想定して、サンプルアバターの「ラムネ」を使用しました。



『ラムネ』試着ワールド
Ramune Sample World
https://vrchat.com/home/world/wrld_eafbb9e0-ed99-4cbd-884f-dd57473d6948/info
PC構成
| メインPC | 検証機 |
|---|---|
|
|
| |
Ryzen 9 7950X3DとRadeon RX7900XTのPCは空冷ファンでの冷却なうえ、ディスプレイが2台接続されているという全体的に不利な構成でのテストになります。その影響か、GPU温度はRX7900XTが67~69℃に対して、RX9070XTが57~60℃でした。
測定位置のスクリーンショットはRX9070XTでアンチエイリアスなしの状態を掲載しています。
RX9070XTが逆転された部分だけ赤色で示しておきます。
Carnelian Town – Rainy Night
RX9070XT優位のワールドです。単純にシェーダー性能差で勝ってる感じがあります。普通にGPU負荷が高い場所なので、フレームレートの低さはVRAM帯域幅以前の問題だと思われます。流石に8xMSAAにするとVRAM帯域幅の方で足を引っ張ってそうですね。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 4.2ms | 4.1ms | 4.1ms | 4.2ms |
| RX9070XT | 21.4ms/47FPS | 25.3ms/40FPS | 28.5ms/35FPS | 45.5ms/22FPS |
| 7950X3D | 5.2ms | 5.1ms | 5.0ms | 5.1ms |
| RX7900XT | 24.8ms/38FPS | 28.2ms/34FPS | 30.2ms/32FPS | 39.1ms/25FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 4.2ms | 4.3ms | 4.2ms | 4.2ms |
| RX9070XT | 17.0ms/59FPS | 20.0ms/50FPS | 22.4ms/45FPS | 35.6ms/28FPS |
| 7950X3D | 5.5ms | 5.2ms | 5.1ms | 5.2ms |
| RX7900XT | 19.6ms/48FPS | 22.2ms/43FPS | 23.7ms/40FPS | 30.7ms/31FPS |
| High 2592x2592px | ||||
| 9800X3D | 4.4ms | 4.4ms | 4.4ms | 4.4ms |
| RX9070XT | 15.1ms/66FPS | 17.7ms/56FPS | 19.9ms/50FPS | 31.3ms/32FPS |
| 7950X3D | 5.4ms | 5.4ms | 5.1ms | 5.2ms |
| RX7900XT | 17.4ms/53FPS | 19.8ms/47FPS | 20.7ms/46FPS | 27.1ms/36FPS |
Complex 7
ポストプロセスなどもしっかり掛かってそうなワールドです。
他の結果と違って、7950X3D/RX7900XTのCPUフレームタイムが一定ではないのが気掛かりです。ギミックなどもあるため、CPUボトルネックとなりやすいように思います。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 6.1ms | 6.2ms | 6.2ms | 6.4ms |
| RX9070XT | 13.8ms/71FPS | 16.9ms/59FPS | 19.6ms/51FPS | 29.2ms/34FPS |
| 7950X3D | 14.2ms | 7.8ms | 7.6ms | 9.3ms |
| RX7900XT | 10.3ms/68FPS | 14.4ms/62FPS | 16.3ms/56FPS | 24.9ms/38FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 8.0ms | 6.4ms | 6.1ms | 6.2ms |
| RX9070XT | 11.3ms/86FPS | 13.6ms/72FPS | 15.7ms/63FPS | 23.1ms/43FPS |
| 7950X3D | 12.0ms | 7.9ms | 7.4ms | 7.6ms |
| RX7900XT | 8.2ms/80FPS | 11.2ms/79FPS | 12.4ms/72FPS | 19.0ms/49FPS |
| High 2592x2592px | ||||
| 9800X3D | 11.0ms | 6.5ms | 6.4ms | 6.5ms |
| RX9070XT | 9.6ms/86FPS | 12.2ms/81FPS | 14.0ms/71FPS | 20.4ms/49FPS |
| 7950X3D | 11.9ms | 11.6ms | 7.5ms | 7.5ms |
| RX7900XT | 7.7ms/81FPS | 8.9ms/83FPS | 11.3ms/79FPS | 17.1ms/54FPS |
Last Generation ⁄ 最後の世代
4xMSAAで僅差となるので、結構綺麗に結果が分かれました。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 2.9ms | 3.0ms | 3.0ms | 6.4ms |
| RX9070XT | 11.5ms/85FPS | 16.9ms/59FPS | 22.4ms/45FPS | 39.1ms/26FPS |
| 7950X3D | 3.4ms | 3.5ms | 3.4ms | 3.4ms |
| RX7900XT | 13.0ms/69FPS | 17.1ms/54FPS | 20.3ms/46FPS | 33.3ms/29FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 3.0ms | 3.0ms | 3.1ms | 3.7ms |
| RX9070XT | 8.5ms/90FPS | 13.1ms/76FPS | 17.2ms/58FPS | 29.8ms/34FPS |
| 7950X3D | 3.7ms | 3.5ms | 3.6ms | 3.6ms |
| RX7900XT | 10.2ms/86FPS | 13.3ms/67FPS | 15.6ms/59FPS | 26.1ms/37FPS |
| High 2592x2592px | ||||
| 9800X3D | 3.2ms | 3.3ms | 3.3ms | 3.3ms |
| RX9070XT | 7.7ms/90FPS | 11.4ms/86FPS | 15.2ms/65FPS | 25.7ms/39FPS |
| 7950X3D | 3.9ms | 3.5ms | 3.5ms | 3.5ms |
| RX7900XT | 9.2ms/90FPS | 11.7ms/74FPS | 13.7ms/66FPS | 22.7ms/42FPS |
Windows XP – Bliss
GPU Grassを使用したワールドです。かなり軽量とはいえ描画するものが非常に多いので、アンチエイリアスを掛けていなくてもROP数の多いRX7900XTのが有利そうです。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 1.5ms | 1.5ms | 1.5ms | 1.5ms |
| RX9070XT | 10.8ms/90FPS | 14.1ms/70FPS | 19.0ms/52FPS | 37.9ms/27FPS |
| 7950X3D | 1.7ms | 1.7ms | 1.8ms | 1.8ms |
| RX7900XT | 8.7ms/90FPS | 11.5ms/76FPS | 14.7ms/62FPS | 27.9ms/34FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 1.6ms | 1.5ms | 1.5ms | 1.5ms |
| RX9070XT | 7.9ms/90FPS | 11.1ms/89FPS | 14.5ms/68FPS | 28.3ms/36FPS |
| 7950X3D | 1.9ms | 1.7ms | 1.9ms | 2.0ms |
| RX7900XT | 6.5ms/90FPS | 8.7ms/90FPS | 11.4ms/78FPS | 20.6ms/45FPS |
| High 2592x2592px | ||||
| 9800X3D | 1.7ms | 1.7ms | 1.6ms | 1.7ms |
| RX9070XT | 7.0ms/90FPS | 9.5ms/90FPS | 12.9ms/77FPS | 24.6ms/41FPS |
| 7950X3D | 1.9ms | 1.7ms | 1.8ms | 2.0ms |
| RX7900XT | 5.7ms/90FPS | 7.6ms/90FPS | 9.8ms/89FPS | 17.4ms/53FPS |
春空の休息地 -BloomingSky Rest-
桜の花びらが舞っており、全体にライトブルームが掛かっているような柔らかい雰囲気のワールドです。ポストプロセス周りの影響などで、ROP数やVRAM帯域の強いRX7900XTが有利になってそうです。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 5.0ms | 6.3ms | 5.8ms | 4.7ms |
| RX9070XT | 17.6ms/56FPS | 21.7ms/46FPS | 25.8ms/39FPS | 40.4ms/25FPS |
| 7950X3D | 7.0ms | 9.0ms | 8.6ms | 7.0ms |
| RX7900XT | 16.0ms/57FPS | 19.9ms/47FPS | 21.7ms/43FPS | 31.7ms/31FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 5.9ms | 5.3ms | 6.8ms | 5.5ms |
| RX9070XT | 14.4ms/69FPS | 17.7ms/56FPS | 20.8ms/48FPS | 32.0ms/31FPS |
| 7950X3D | 7.6ms | 6.9ms | 6.5ms | 7.4ms |
| RX7900XT | 12.8ms/70FPS | 15.9ms/58FPS | 17.4ms/53FPS | 25.2ms/38FPS |
| High 2592x2592px | ||||
| 9800X3D | 6.2ms | 5.9ms | 5.3ms | 5.9ms |
| RX9070XT | 12.7ms/77FPS | 15.7ms/63FPS | 18.3ms/54FPS | 28.2ms/36FPS |
| 7950X3D | 8.1ms | 7.2ms | 6.9ms | 7.5ms |
| RX7900XT | 11.6ms/76FPS | 14.1ms/64FPS | 15.3ms/60FPS | 22.2ms/43FPS |
西つつじヶ丘児童遊園 ⁄ Nishi-Tsutsujigaoka Children’s Playground
最近流行りのVRC Gaussian Splattingを使用しているワールドです。この手のワールドではアンチエイリアス設定を無効にするよう案内されることが多いです。
恐らくガウス分布の合成処理やデータの読み書きに掛かるコストが通常のメッシュよりも高いため、MSAAを適用すると早い段階でVRAM帯域幅が不足するのではないかと推測します。RX9070XTではパフォーマンス低下の具合が著しいのが分かります。
| None | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Godlike 3168x3168px | ||||
| 9800X3D | 1.2ms | 1.3ms | 1.2ms | 1.2ms |
| RX9070XT | 11.6ms/85FPS | 17.9ms/55FPS | 30.4ms/33FPS | 61.7ms/17FPS |
| 7950X3D | 1.7ms | 1.9ms | 4.9ms | 9.6ms |
| RX7900XT | 11.4ms/76FPS | 14.0ms/63FPS | 18.4ms/50FPS | 33.4ms/29FPS |
| Ultra 2784x2784px | ||||
| 9800X3D | 1.6ms | 1.3ms | 1.3ms | 1.3ms |
| RX9070XT | 9.3ms/90FPS | 14.2ms/70FPS | 22.5ms/45FPS | 44.7ms/23FPS |
| 7950X3D | 1.7ms | 1.5ms | 1.6ms | 1.7ms |
| RX7900XT | 8.9ms/90FPS | 11.4ms/77FPS | 14.8ms/61FPS | 25.5ms/37FPS |
| High 2592x2592px | ||||
| 9800X3D | 1.5ms | 1.4ms | 1.4ms | 1.5ms |
| RX9070XT | 8.5ms/90FPS | 12.8ms/77FPS | 19.4ms/51FPS | 37.8ms/27FPS |
| 7950X3D | 1.7ms | 1.5ms | 1.5ms | 1.5ms |
| RX7900XT | 7.6ms/90FPS | 10.4ms/84FPS | 13.2ms/68FPS | 22.1ms/43FPS |
まとめ
VRCMark v2のベンチマーク結果から、4xMSAAを使うかどうかで結果が分かれると思っていましたが、そんな単純な話ではなさそうです。
VRChatの比較的軽量なワールドではRX9070XTのパフォーマンスは優れており、RX7900XTを圧倒する場面が見られました。しかし、RX9070XTが有利なシーンでも4倍程度のアンチエイリアス(4xMSAA)を使用すると予想したとおり立場が逆転してしまうようです。それに加えて、アンチエイリアス未使用でも描画するものやポストプロセスなどが多いと遅くなってしまうため、最悪ケースを考慮すると全体的にはRX7900XTのが有利という結果が出ました。
これについては、主にROP数やVRAM帯域幅の差が影響しているのではないかと考えています。パーティクルのような半透明処理が多かったり、Gaussian SplattingやGPU Grass/Snowといった描画するものが多いときに性能差が顕著に表れたように感じます。
「VRChatではVRAM帯域幅が重要だ」とよく言われますが、具体的にどこで重要となるのかを扱った情報があまり見当たりません。もちろん、アバターを読み込んだりするときに必要な性能だとは思いますが、アンチエイリアス設定(MSAA)の有無も大きく関わってくるという点は見落とされているのではないでしょうか。ROP数については内訳不明で具体的な検証が難しそうなので推測程度に留めておきますが、今回の検証である程度の傾向が分かったような気がします。
解像度別目安
今回の検証結果から、解像度別に必要なVRAMの帯域幅が出せそうなので目安として置いておきます。これは90FPSきっちりと出せている前提の計算なので、実際には想定したとおりの性能が出ないことを考慮してください。Virtual DesktopとPICO 4 Ultraを使用した場合の解像度です。
| なし | 2xMSAA | 4xMSAA | 8xMSAA | |
|---|---|---|---|---|
| Potato 1344px | 41GB/s | 47GB/s | 57GB/s | 77GB/s |
| Low 1728px | 69GB/s | 78GB/s | 95GB/s | 130GB/s |
| Medium 2016px | 94GB/s | 106GB/s | 129GB/s | 176GB/s |
| High 2592px | 154GB/s | 174GB/s | 212GB/s | 290GB/s |
| Ultra 2784px | 179GB/s | 201GB/s | 246GB/s | 335GB/s |
| Godlike 3168px | 232GB/s | 260GB/s | 318GB/s | 434GB/s |
| Monster 3648px | 306GB/s | 345GB/s | 421GB/s | 574GB/s |
- 両目分の解像度:(片目縦 x 片目横) x 2
- カラーバッファ:両目解像度 x 8Byte/px
- 深度バッファ:両目分解像度 x 4Byte/px
- フレームバッファ:カラーバッファ + 深度バッファ
- 不透明オブジェクトのレンダリング部分:カラーバッファwrite + 深度バッファread + 深度バッファwrite
- MSAAありの場合:不透明オブジェクトのレンダリング部分をMSAAの倍率で掛ける
- 半透明オブジェクトのレンダリング部分:オーバードロー4回程度を想定(カラーバッファread + カラーバッファwrite)x4
- ポストプロセス部分:ブルームやカラーグレーディングなどでフレームバッファの4倍程度を想定
- 1フレームあたりの合計:不透明 + 半透明 + ポストプロセス
- 1秒あたり:1フレームあたりの合計 x 90Hz
- その他ディスプレイへの表示やエンコードなどは一切考慮せず
RadeonのVRAM帯域幅とROP数
TechPowerUpに掲載されているパフォーマンス順に並べています。シェーダー数やCU数、Infinity Cacheは考慮していません。
| VRAM帯域幅 | ROP数 | |
|---|---|---|
| RX7900XTX(24GB) | 960GB/s(480GB/s@50%) | 192 |
| RX9070XT(16GB) | 640GB/s(320GB/s@50%) | 128 |
| RX7900XT(20GB) | 800GB/s(400GB/s@50%) | 192 |
| RX9070(16GB) | 640GB/s(320GB/s@50%) | 128 |
| RX7900GRE(16GB) | 576GB/s(288GB/s@50%) | 160 |
| RX6950XT(16GB) | 576GB/s(288GB/s@50%) | 128 |
| RX6900XT(16GB) | 512GB/s(256GB/s@50%) | 128 |
| RX7800XT(16GB) | 624GB/s(312GB/s@50%) | 96 |
| RX6800XT(16GB) | 512GB/s(256GB/s@50%) | 128 |
| RX7700XT(12GB) | 432GB/s(216GB/s@50%) | 96 |
| RX9060XT(16GB) | 320GB/s(160GB/s@50%) | 64 |
| RX6800(16GB) | 512GB/s(256GB/s@50%) | 96 |
| RX6750XT(12GB) | 432GB/s(216GB/s@50%) | 64 |
| RX6700XT(12GB) | 384GB/s(192GB/s@50%) | 64 |
| RX7600XT(16GB) | 288GB/s(144GB/s@50%) | 64 |
【おまけ】GeForce RTX2080でテスト
今回計算してみた結果が役立つかはなんとも言えませんので、試しに表を元にGeForce RTX2080の場合を予測してみましょう。VRAM帯域幅が448GB/sでROP数は32です。大まかな性能はRX7900XTの半分未満らしいので、MSAA込みで片目2592pxが行けるかどうかぐらいだと予想します。
448GB/sの半分となる224GB/sで想定すると、Medium 2016pxで8xMSAAは問題なく行けそうな感じがします。High 2592pxは処理性能が足りてさえいれば4xMSAAまで行けるかもしれませんし、Ultra 2784pxならMSAAなしが90FPSで動作しそうです。
結果としては以下の通りとなりました。VRChat Homeのリスポーン地点のデータを使用しました。
| RTX2080(224GB/s@50%) | なし | 2xMSAA | 4xMSAA | 8xMSAA |
|---|---|---|---|---|
| Medium 2016px | 5.0ms/90FPS | 6.2ms/90FPS | 7.2ms/90FPS | 8.6ms/90FPS |
| High 2592px | 7.6ms/90FPS | 10.3ms/86FPS | 11.4ms/79FPS | – |
| Ultra 2784px | 9.4ms/90FPS | 11.5ms/75FPS | – | – |
| Godlike 3168px | 11.8ms/76FPS | – | – | – |
「当たらずとも遠からず」ですかね。Ultra 2784pxが予想通りMSAAなしで90FPSが出ていますので、High 2592pxでMSAAを使用したときに微妙な結果が出ているのは、VRAM帯域幅ではなくROP側のボトルネックかもしれません。RTX2080と似たような性能となるRTX5050の場合、320GB/sなのでその半分となる160GB/sとした場合に、High 2592pxのMSAAなしがギリギリで、Medium 2016pxなら4xMSAAまでが限度だと予測できます。メモリ圧縮とかなんか色々と考慮してないので、大まかな目安にしかなりませんが。


















