テストレポート
リアルタイムレイトレーシングを有効にするとゲームはどう変わる? 「Battlefield V」とGeForce RTX 20シリーズで試してみた
そして,そのリアルタイムレイトレーシングに対応するゲームタイトルとしてNVIDIAが大々的にプッシュしているのがPC版「Battlefield V」(以下,BFV)だが,リアルタイムレイトレーシングを有効にすると,ゲームは何が変わり,また,性能面ではどれだけのインパクトが生じるのだろうか。
2018年12月16日時点の最新版BFVを使い,実際にテストしてみたので,結果をお伝えしたい。
BFVでリアルタイムレイトレーシングを利用するための条件を確認
まずは,BFVでリアルタイムレイトレーシングを利用するための条件を確認しておこう。
OSの側では,DXRに対応する「October 2018 Update」を適用した(ビルド1809以降の)Windows 10が必須となる。October 2018 Updateは,12月16日の時点だとWindows Updateでは提供されていないため,Microsoftの専用Webページからダウンロードして手動アップデートする必要がある点に注意してほしい。
そして肝心のBFV側だが,発売時点のバージョンではリアルタイムレイトレーシングに対応していなかった。サポートが始まったのは11月15日配信のパッチ以降からだが,当初は「DXRレイトレース・リフレクション」の品質を「低」(Low)にする必要があり,「中」(Medium)以上にすると性能面での問題が発生するという限定的な実装に留まっていたのだ。
- GeForce RTX 2080 Ti:DXRレイトレース・リフレクション「最高」(Ultra)設定,解像度2560×1440ドット
- GeForce RTX 2080:DXRレイトレース・リフレクション「中」(Medium)設定,解像度2560×1440ドット
- GeForce RTX 2070:DXRレイトレース・リフレクション「中」(Medium)設定,解像度1920×1080ドット
なお,BFVをプレイしているユーザーの場合,Origin側で自動アップデートが入るはずなので,パッチの適用うんぬんについて心配する必要はまずないだろう。
念のため確認しておくと,BFVでリアルタイムレイトレーシングを利用するための条件は以下のとおりだ。
- GeForce RTX 20シリーズのGPU
- GeForce 417.22 Driver以降のグラフィックスドライバ
- October 2018 Updateを適用したWindows 10
- 日本時間12月5日配信分以降のパッチを適用したBFV
BFVにおけるリアルタイムレイトレーシング設定とその効果を見てみる
これでようやく,BFVでリアルタイムレイトレーシングを利用できるようになる。
BFVでリアルタイムレイトレーシングを有効化するには,ゲーム側のメニューにある「ビデオ」−「詳細設定」にある「DX12有効」から,まずDirectX 12を有効にする。そしてそのうえで,直下にある「DXR有効」を有効化すればOKだ。
「DXR有効」を「オン」にすると,「品質設定」の一番下にある「DXRレイトレース・リフレクションのクオリティー」という項目が変更可能となり,リアルタイムレイトレーシングの品質を,以下の4択から選べるようになる。
- 最高(Ultra):レイの総数をピクセルの総数の40%に設定し,レイトレーシングを平滑度0.5以上の表面に対して適用
- 高(High):レイの総数をピクセルの総数の31.6%に設定し,レイトレーシングを平滑度0.5以上の表面に対して適用
- 中(Medium):レイの総数をピクセルの総数の23.3%に設定し,レイトレーシングを平滑度0.9以上の表面に対して適用
- 低(Low):レイの総数をピクセルの総数の15.0%に設定し,レイトレーシングを平滑度0.9以上の表面に対して適用
つまり,4つの選択肢では放つレイの総数が段階的に変わり,かつ,適用対象となる反射面は最高と高が同じで,中と低が同じとなっている。
というわけで,ここからは設定によって見栄えにどういう違いが得られるのかを実際のスクリーンショットで比較していこう。
下に示すスクリーンショットは,シングルプレイヤーモード「大戦の書」における,ノルウェーを舞台にしたシナリオ「北極光」の1シーンだ。ここでは一面雪景色の中,凍った海が描かれている。その海はところどころ雪が積もってはいるものの,それ以外は氷面になっており,そこに景色が映り込んでいるのだが,その違いを見たものになる。
基本的には同じポイントに立っているが,DXRの有効/無効切り替えではゲームの再起動が必要になるため,無効時のみ厳密には同じポイントではないことをあらかじめお断りしておきたい。
さて,ここではDXR無効時のスクリーンショットを一番上に置き,順に適用度合いを大きくしていっているが,まず,DXR無効時と有効時の違いは誰の目にも明らかだろう。
BFVでは,従来からのラスタライズとレイトレーシングの両方で画面描画を行う「ハイブリッドレンダリング」(Hybrid Rendering)を採用している。ハイブリッドレンダリングについては西川善司氏による解説記事を参照してもらえればと思うが,ハイブリッドレンダリングにおいては鏡面反射における映り込みなどにラスタライズではなくレイトレーシングを活用するようになっている。簡単に言うと,DXR無効時は映り込みが省略され,スクリーンショットのように,氷面にはぼんやりとしたそれっぽい色が乗るだけになる。
それに対し,DXRを有効にすると,遠景にある家屋などが氷面に映り込む。低と中では映り込む面積が狭いが,高と最高ではこれがかなり広がる印象だ。以下のとおりムービーも用意してみたので,参考にしてほしい。
ほかのシーンにおける違いもいくつか確認しておこう。まず下に示したのは,同じく北極光から,四輪車のサイドミラーをチェックしたところだ。サイドミラーのように鏡面となっており,平滑度が高く,かつ描画範囲が小さいものだと,DXR設定の違いにかかわらず同じような結果が得られる。同時に,無効時との違いは一目瞭然だ。
続いては大戦の書における「ティライユール」というシナリオの1シーンから。
水たまりに対してもDXRは適用されるが,水面は鏡面と同じく平滑度が高いため,DXR設定による効果の違いを確認することはなかなか難しい。なおDXR無効時はオブジェクトの影のみが水面に映り込んだ。
最後はマルチプレイ「ブレークスルー」の1シーンだ。水面に炎までしっかりと映り込んでいるが,DXR有効時の設定による効果の違いは(確かにあるものの)なかなか分かりづらい。なお,マルチプレイだとマップや攻守がランダムであり,シングルプレイキャンペーン以上にDXR有効時と無効時で同じシーンを撮るのが難しく,ここでDXR無効時のスクリーンショットがない点はご容赦を。
以上のスクリーンショットを見ても明らかなように,水たまり1つとってもDXRの有効化で見た目は大きく変わる。マルチプレイで立ち止まることはほぼなく,DXRの4設定が持つ細かな違いを視認するのは難しいが,シングルプレイキャンペーンの氷面のように,設定を切り換えることで描画範囲が明らかに変わってくるようなケースでは,より高い設定にも意味があると言えそうだ。
DXRの有無でフレームレートはどう変わるのか? 無効時と4条件で比較
以上,見栄えの違いは如実に出るということが分かったわけだが,フレームレートへのインパクトはどれくらい生じるのだろうか。今回はGeForce RTX 20シリーズの3製品「GeForce RTX 2080 Ti」(以下,RTX 2080 Ti),「GeForce RTX 2080」(以下,RTX 2080),「GeForce RTX 2070」(以下,RTX 2070)のいずれもFounders Editionを用意できたので,これらを使って比較していきたいと思う。
テストに用いるグラフィックスドライバは,テスト開始時点の最新版でもある前出のGeForce 417.22 Driver。そのほかのテスト環境は表のとおりとなる。
解像度は,DXR有効時のターゲットが2560
BFV側での「品質設定」では,プリセット選択用の項目となる「グラフィックのクオリティー」を「最高」に設定し,そのうえで「DXRレイトレース・リフレクションのクオリティー」を最高,高,中,低に変更しつつ,「DXR有効」を「オフ」にしてDXRを無効化した状態でもテストを行う。
テスト方法だが,今回は,前段で示した北極光のシーンで氷面上を決まったルートで1分間走り,その間のフレームレートをGPUOpenのフレームレート測定ツールである「OCAT」(Version 1.2.0)から取得することにした。テストは条件ごとに2回連続して実施し,平均をスコアとして採用する。実際にどんな感じかは下に示したムービーを参照してほしい。
なお,OCATでは最小フレームレートを取得する術がないことから,1 percentile(1パーセンタイル)を最小フレームレートの代わりとして利用するので,その点はご了承を。1 percentileというのは,全体のデータを高いスコアから順に並べたとき,最後の1%の位置にあるスコアを示す。つまり,残り99%はそれ以上のスコアということになるため,ほぼ最小スコアとして扱えるという判断である。
DXRの有効化でフレームレートは大幅に低下。最大では4割以上減に
それでは,DXRの有効化による影響をGPUごとに見ていくことにしよう。
まずグラフ1〜3はGTX 2080 Tiのテスト結果だが,ここで明らかなのは,BFVでDXRを有効化するとフレームレートが大幅に低下する点だ。
DXRの効果を最大化する最高に設定した場合,DXR無効時と比べて平均フレームレートは56〜59%程度に留まり,低でも約68%しか出ない。RT Coreという専用プロセッサを活用してレイを飛ばすとしても,ノイズリダクションなど関連する処理も必要になり,レイトレーシング全体として負荷が増すので,その分の負荷がフレームレートに大きな影響を与えていると考えられる。
もっとも,「417.22ドライバと12月4日のパッチによって最高設定の2560
もう1つ興味深い点としては,DXRの最高と高,中と低ではそれぞれフレームレートに大きな違いが生じていない点が挙げられる。
これは「使用するレイの数が増えても性能にあまり影響していない」ことを示す。一方で,レイトレーシングの対象となる反射面の平滑度条件が最高と高は0.5,中と低は0.9となっていることはフレームレートの違いとなって出ているので,レイトレーシングの対象となるピクセルの数に比例して負荷が大きくなるものの,ピクセルあたりのレイ数による影響はほぼ受けていないわけだ。「DXRのAPIを呼び出すオーバーヘッドは大きいが,RT Core側にはまだ余裕がある」ということだろうか。
次にグラフ4〜6はRTX 2080のテスト結果となるが,ここでもテスト結果はほぼ同じ傾向を示している。DXRを最高で適用したときの平均フレームレートは無効時比57〜60%程度,低でも66〜68%程度だ。
NVIDIAの主張と照らし合わせた場合,DXRの中設定を行ったときに2560
RTX 2070の結果がグラフ7〜9だが,DXRの最高設定で1920
全体としては,平均フレームレート見た場合,DXR無効時に対してDXRの最高設定適用時にが56〜58%程度,低設定適用時に67〜68%程度なので,上位モデルと同じスコア傾向だと言うことができるだろう。最高と高,中と低の間ではスコアに大きな違いが生じない点も同様だ。
結果はグラフ10のとおりで,ご覧のとおり,スコアに大きな影響は出なかった。TuringアーキテクチャにおいてRT Coreは演算ユニットである「Streaming Multiprocessor」(SM)に統合されているので,SM単位の消費電力としては大きな違いにならないということなのかもしれない。
いずれにせよ,DXRの有効化によって消費電力が目に見えて上がるという心配はしなくてもよさそうだ。
DXRの有効化によるフレームレートへの影響は看過できないレベル。果たしてどれだけのゲーマーが受け入れるか
DXRの有効化によって,オブジェクトの反射などが描画されるようになり,BFVのキャンペーンモードにおけるゲーム世界のリアリティは大きく向上する。マルチプレイでも,場合によっては死角にいる相手プレイヤーを認知できる可能性があるだろう。しかしその一方で,フレームレートへの影響が大きすぎる嫌いもある。
確かにNVIDIAの主張どおり,GeForce RTX 20搭載環境でDXRを有効化しても平均フレームレートで60fpsの確保は可能だが,今やFPSプレイヤーは100fps超級でのゲームプレイに慣れてきている。そして,DXRを無効化すればRTX 2070でも1920
その意味で,リアルタイムレイトレーシングの効果アピール第1弾としてFPSを選んだというのは,あまりよい手ではなかったように思う。フレームレートの要求がシビアではないジャンルのタイトルでこそ,リアルタイムレイトレーシングによる映像表現は活きると思われるだけに,NVIDIAには早急な次の一手を期待したい。
NVIDIAのGeForce RTX 20シリーズ製品情報ページ
- 関連タイトル:
Battlefield V
- 関連タイトル:
GeForce RTX 20,GeForce GTX 16
- この記事のURL:
キーワード
(C)2018 Electronic Arts Inc.