Electronic Arts
https://www.ea.com/ja-jp/games/battlefield/battlefield-5

GeForce RTX 2080のテストの際には間に合わなかったBattlefield Vであるが、今回はきちんと評価できた。ちなみに今回のテストの中では、DirectX Ray Tracingに唯一公式対応が完了した(対応を表明しているものはほかにもある)ゲームである。

まずはテスト方法である。普通にOriginからダウンロードしてインストールし、立ち上げて"PLAY"を選択(Photo22)、ゲーム種類では"WAR STORIES(SINGLE PLAYER)"を選択(Photo23)、シナリオでは"UNDER NO FLAG"を選ぶ(Photo24)。

  • Photo22:ここでYour Companyとか選んでもベンチマークの役には立たないので、さっさとPlayに移動する

  • Photo23:Practice Rangeでトレーニングミッションを使ってベンチマークを、と最初は考えたのだが、ちょっと単調すぎるのとRay Tracingの効果が出てくるシーンがなかなか見つからないので、Single Playerモードを選んだ

  • Photo24:一度プレイすると、後はResumeですぐにチェックポイントに飛べる(ここだとUnder no FlagのみResumeになっている)

するとゲームがスタートする(Photo25)が、立ち上げて1回目は仲間と一緒に最初のチェックポイントまで移動するというミッションをこなす必要がある(単に仲間の後を追って移動するだけ)。これが終わると最初のチェックポイントにたどり着く。

  • Photo25:初回だとここで難易度の設定とかの設定が可能だった気がする(Resumeだとその選択肢は飛ばされる)。ちなみに難易度は一番優しくした

ここからベンチマークの開始である。後述の方法でフレームレートの記録を開始してから、目の前の坂を上がって、背中を向けている敵兵を倒す。するとサイレンが鳴り始めて敵兵が3名、こちらに向かってくるので、これを全部倒す。

最後にテントのある場所に行き、カンデラの脇にある弾薬を手に取って(Photo27)、ベンチマーク終了なので、フレームレート記録を終了する。大体慣れると80~90秒ほどのシナリオである。

  • Photo26:目の前の小川を渡って坂を上がると、敵兵の1人目がいる

  • Photo27:敵陣の中央あたりにこのテントはある。ちなみにそのテントを通り過ぎて更に進むと次の敵が出現するので、その手前で切り上げる

次に記録方法だ。Escキーを押して一旦Game Menuに入り(Photo28)、ここで"~"(チルド)キーを押す(注1)とコンソールが出現する。

  • Photo28:解像度の変更もここからできる

ここで

PerfOverlay.FileLogEnable 1

と入力すると、以後フレームレートがcsvファイルに記録される(Photo29)。

  • Photo29:これは別にゲームの中でなくても、Battlefield Vが立ち上がったらいつでも設定可能

PerfOverlay.FileLogEnable 0

と入力すると、フレームレートの記録は終了する。手順としては

  1. Battlefield Vを立ち上げて"Under No Flag"をロード
  2. チェックポイントにResumeされたら、ESCキーでGame Menuを出す
  3. コンソールでフレームレート記録開始
  4. コンソールを閉じ、Game MenuからESCキーでゲームに戻る
  5. 敵兵を倒す
  6. テントのところで再びGame Menuに入る
  7. コンソールでフレームレート記録終了
  8. コンソールを閉じ、Game Menuで"RESTART CHECKPOINT"を選び、(2)に戻る

という感じである。フレームレートはマイドキュメントの下の"Battlefield V"フォルダに保存される("PerfOverlay.FileLogEnable 1"を入力すると、自動的に新しい連番のcsvファイルを作成してくれるので、複数回実行しても毎回異なるファイルに記録される)。

ということで、テスト方法を紹介したところで次にテスト環境を。先のGame Menuにある"OPTIONS"を選び、Video Menu(Photo30)から

  • Photo30:これはあまり悩む必要はないと思う

  • BASIC Setting(Photo31):
    • FULLSCREEN MODE:FULLSCREEN
    • FULLSCREEN RESOLUTION:1920×1080/2560×1440/3200×1800/3840×5160
  • Photo31:Brightnessとかは自分の環境に合わせて変更してもらって構わない

その他はデフォルトのまま

  • ADVANCED Setting(Photo32):
    • DX12 ENABLED:ON
    • HIGH DYNAMIC RANGE:AUTO
    • FRAMERATE LIMITER:200
    • FUTURE FRAME RENDERING:ON
    • VERTICAL SYNC:OFF
    • GPU MEMORY RESTRICTION:OFF
    • GRAPHICS QUALITY:HIGH
  • Photo32:この画面だとGPU MEMORY RESTRICTIONがONになっているので注意

その他はデフォルトのままとする。

基本的にはBattlefield Vの立ち上げ時に設定を確認しておき、あとは解像度だけ変更しながら順次テストを掛ける形だ。

さて開始から80秒あたりまでのフレームレートを順次まとめてみた結果がグラフ18~21である。2K(グラフ18)だとGeForce GTX 1060でもなんとかなるが、それ以上はちょっと厳しい。

そしてGeForce GTX 1070は2.5K(グラフ19)はなんとかなるが、3K(グラフ20)はちょっと厳しめである。もっともGeForce GTX 1070 TiやGeForce RTX 2060でも4K(グラフ21)はアウトなので、その意味では2.5K~3Kあたりの解像度が、このクラスのGPUでBattlefield Vを楽しむための限界と言えるだろう。

このグラフ18~21、最初の10秒ほどはちょっと暴れているので、10秒目~80秒目までのフレームレートを平均した結果がグラフ22~24である。だいたいフレームレート変動の結果が反映されているというか、GeForce GTX 1060以外は2.5K~3K解像度で楽しむことが可能という結果になっていると思う。

RTX 2060でレイトレーシングはどこまでいける?

ところでRay Tracingの話である。今回試用したのは12-11-2018 Updateというリリースのものだが、筆者の環境ではメニューの中にRay Tracingに関する設定が見当たらなかった。ではどう設定するか? というと、またもやコンソールから

PostProcess.ScreenSpaceRaytraceEnable 1

と入力するとRay Tracingが可能になる。

問題はこれの効果がどれほどかである。今回のベンチマークシナリオの中では、2カ所ほどでその効果が確認できた。まずはPhoto27のシーン。ここで双眼鏡を使って、手前の地雷(だと思う)をアップで表示すると、Ray Tracing OffだとPhoto33のような感じなのが、Ray Tracing OnだとPhoto34のような具合になる。

  • Photo33:まぁぼやけた感じになる

  • Photo34:弾薬箱の影が反映されている

その周囲にある、墜落した軍用機脇の水たまりであるが、Ray Tracing Offだと普通に明るくなっているだけ(Photo35)なのが、Ray Tracing Onにすると翼の断面が水面に映り込んでいる(Photo36)のがわかるかと思う。

  • Photo35:見慣れるとこの方が自然な感じもする

  • Photo36:もっともすべての残骸が映り込んでいるわけではない

また、Ray Tracingの設定がいくつか行えるはずなのだが(例えばRT MediumやRT Ultra)、やはり筆者の環境では設定項目が出てこなかった。

EAとDICEは2019年Battlefield VにDLSS(Deep Learning Super Sampling)を実装予定としているが、今回評価したバージョンにはそれもない。というわけで、Photo34/36の様な画質の改善が現時点でのRay Tracingの効用ということになる。

問題は性能である。グラフ25は2K解像度でRay TracingをOn/Offした際のフレームレート変動だが、Ray TracingをOnにするとほぼ40fpsあたりで頭打ちになってしまっている。

一応グラフ26で平均値を示したが、これを見るまでもなく、猛烈にオーバーヘッドが多いことがはっきりわかる。より上位の、それこそGeForce RTX 2080 Tiとかを使えばまた別の結果になるかもしれないが、少なくともGeForce RTX 2060ではRay Tracingを使うのは現時点ではまだ早いという判断になるかと思う。