テストレポート
DirectX 12世代の3DMark新テスト「Time Spy」がついに公開。さっそくGPU計16製品で実行してみる
4Gamerの3DMark公式ミラーページ
一方,一般ユーザー向け有償版となる「Advanced Edition」は,新規購入が29.99ドルとなる。従来,Advanced Editionの新規購入価格は24.99ドルだったので,フルバージョンは5ドルの値上げとなったわけだ。また,Advanced Editionユーザー向けの有償アップデート版は9.99ドルになるという。
ただし,7月23日までの期間限定で,フル版が9.99ドルでの提供となる。Futuremark公式Webサイトから購入する場合もSteamで購入する場合も特別価格は共通なので,購入する気があるなら,早めに動いたほうがいいだろう。
ではこのTime Spyとはどんなテストで,GPUごとにどういうスコア傾向が見られるだろうか。Time Spyテストの概要をまとめつつ,GeForceとRadeon計16製品を用いてのテスト結果をお伝えしたい。
DirectX 12 Feature Level 11_0を採用するTime Spy。Async Computeによる負荷は10〜20%ほど
そんなTime Spyの動作要件は以下のとおり。対応OSがWindows 10のみなのは当然として,32bit版Windows 10が動作対象外となっている点は,押さえておいたほうがいいだろう。
- OS:64bit版Windows 10
- CPU:動作クロック1.8GHzのデュアルコアCPU以上
- GPU:DirectX 12対応以上
- グラフィックスメモリ容量:1.7GB以上(2GB以上推奨)
- ストレージ容量:2GB以上
気になる機能レベルは「Feature Level 11_0」。最新世代のGPUだと,「Feature Level 12_0」や「Feature Level 12_1」に対応するものも少なくないが,Futuremarkは,DirectX 11世代のGPUとDirectX 12世代に対応するドライバの組み合わせとも互換性を確保するためだとしている。いわく「ゲームデベロッパは,Time Spyと同じアプローチでDirectX 12対応タイトルを開発することにより,性能と互換性の最も優れたバランスを確保できる」とのことだ。
DirectX 12でサポートされるAsynchronous Compute(非同期演算,以下 Async Compute)は,もちろん採用。Time Spyではレンダリングパスを重ねることでGPUの使用率を最大にする設計を実装しているという。Async Computeによる描画負荷は,フレームあたり10〜20%だそうだ。
なお,Advanced EditionとProfessional Editionは,カスタム設定からAsync Computeを無効化することも可能になっている。
Graphics testはA-bufferを多用する構成
Time Spyは,「Graphics test 1」「Graphics test 2」「CPU test」という,3つのテストで構成されている。これだけ見ると,DirectX 11世代のテストである「Fire Strike」から「Combined test」を省略しただけのようなイメージだ。
DirectX 12の特徴として,CPUのオーバーヘッドが少なくなるという話題はよく挙がるわけだが,結果としてTime Spyではオブジェクトやテクスチャ,それにエフェクトの描画数が増しており,Futuremarkが示した資料によると,Fire Strikeと比べて,Time Spyでは,頂点数(Vertices),トライアングル数(Triangles),テッセレーションのパッチ数(Tessellation patches),Compute Shaderの実行数(Compute shader invocations)のすべてで,フレームあたりの処理量が圧倒的に多くなっているという。
「フレームあたりの処理量が圧倒的に多くなった理由」をFuturemarkは明言していないのだが,その代わりに同社は,「DirectX 12の利用により,デベロッパはハードウェアの利用率やマルチスレッドのスケーリングを上げることができるが,グラフィックスに関する高度な知識とメモリレベルのプログラミングスキルが必要」だとは述べている。
DirectX 12の活用に人的,金銭的なコストがかかるが,その点,FuturemarkはAMDとIntel,Microsoft,NVIDIAらと協力して,DirectX 12世代のテストを完成させたとのことなので,いま挙がったような「フレームごとの処理量」は,関係各社が納得したパラメータ設定ということなのかもしれない。
上の表を見ると,Time SpyにおけるGraphics test 1とGraphics test 2ではテッセレーションの量が大きく異なっていることも分かるが,具体的にそれぞれどういった内容のテストなのだろうか。
Futuremarkによると,Graphics testはその名のとおり,GPUに負荷をかけるものとなっており,CPUがスコアを左右する要素にはなっていないという点では共通だが,ワークロードは異なるものになっているという。
半透明のレンダリングは本来,描画順序をしっかりしておかないと「透けて見える部分」の描画がおかしなことになってしまうが,Graphics Testでは,その半透明オブジェクトの順不同な描画実行を容認する「A-Buffer」をたっぷりと活用しているそうだ。
パーティクルに対する影の生成は一部の選択された光源に対してのみ行い,一方でレイマーチング法を用いた(≒レイトレーシングベースの)ボリューメトリックイルミネーション(Volumetric Illumination)は平行光源(Directional Light)に対してのみ有効になっている。
被写界深度(Depth of field)や発光現象(Bloom),カメラのレンズ内で屈折する光の効果をシミュレートするレンズリフレクション(Lens Reflection)といったポストプロセスはすべて有効になっているという。
ポストプロセスがすべて有効なのはGraphics test 1と変わらない。
採用する物理シミュレーションエンジンは,Fire Strikeなどと同じく「Bullet Open Source Physics」(Bullet Physics)で,もちろんx86パスを用いたソフトウェア処理だ。
このCPU testでは「水晶のプロシージャル生成」と「古典的なboid-system(=群システム)とシンプルなバネ質量系を使った小さい物体群のシミュレーション」のコンビネーション実行を行うことになるという。
スコアの計算方法と,マルチGPU対応
3DMarkでは,テストごとに平均フレームレートを測定し,そこからスコアを算出するというのが通例で,それはTime Spyでも変わらない。
Graphics testでは,「『Graphics test 1』分の1」と「『Graphics test 2』分の1」を足したものを分母として,「足した結果分の2」に乗数164をかけたものが「Graphics Score」となる。
またCPU testでは,3回あるテストのうち,最も負荷の高い3回めの平均フレームレートを抽出し,それに298をかけたものを「CPU Score」として採用する。
そして総合スコアは,GPU Scoreに0.85,CPU Scoreに0.15の重み付けを与えるため,それぞれの重み付けの値を各スコアで割った値を加算し,その逆数を総合スコアとして採用している。
なお,DirectX 12は,マルチGPU動作モードとして,異なるメーカーのGPUが同一システム上にある状態をサポートする「Multi Display Adapter」(以下,MDA)と,複数のGPUを1基のGPUに見立てる「Linked Display Adapter」(以下,LDA)をサポートしているが,Time Spyで対応するのはLDAのみ。より正確を期すと,LDAにはドライバ側で複数のGPUを駆使する,SLIおよびCrossFire風の挙動となる「LDA Implicit」(LDA暗黙)モードと,アプリケーション側から複数のGPUを1基として見立てて扱う「LDA Explicit」(LDA明示)モードの2種類があるのだが,Time Spyが対応するのは後者だ。
Time SpyにおけるマルチGPU動作は,従来のSLIやCrossFireと異なるものになるので,この点は注意しておきたい。
なお,レンダリングモードはAFR(Alternate Frame Rendering)を採用するとのことだ。
GPU計16製品でTime Spyを実行してみる
といったところを踏まえ,テストのセットアップに入ろう。
冒頭でも触れたとおり,今回用意したのは,以下のとおりGPU計16製品だ。以下,製品名における「GeForce」「Radeon」の表記は省略するので,この点はあらかじめお断りしておきたい。
■GeForce
- Pascal:GTX 1080,GTX 1070
- 第2世代Maxwell:GTX TITAN X,GTX 980 Ti,GTX 980,GTX 970,GTX 960,GTX 950
■Radeon
- Polaris:RX 480
- Fiji:R9 Fury X,R9 Fury,R9 Nano
- Grenada(Hawaii Refresh):R9 390X,R9 390
- Antigua(Tonga Refresh):R9 380X,R9 380
今回もできる限りリファレンス仕様のものを用意すべく努力したが,GTX 960やR9 390Xなど,そもそもリファレンスデザインを採用する製品が国内で流通していないものは,カードメーカー各社の製品を用意したうえで,MSI製のオーバークロックツールの「Afterburner」(Version 4.3.0 Beta)を用いて,リファレンスレベルにまで動作クロックを下げて利用している。それでもクーラーの能力が異なるため,ブーストクロックは高めに出てしまうのだが,そこはやむを得ないものとして話を進める。
用いるグラフィックスドライバは,GeForce側が「GeForce 368.69 Driver」,Radeon側が「Radeon Software Crimson Editon 16.7.2 Hotfix」で,いずれもテスト時に最新バージョンとなるものだ。そのほかテスト環境は表のとおりとなる。
また,これは毎度おなじみだが,テストに用いたCPUの自動クロックアップ機能「Intel Turbo Boost Technology」は,テストによって効果に差が生じることを防ぐため,マザーボードのUEFI(≒BIOS)から無効に設定しているので,この点もご了承を。
なお,今回のテストでは,GPUあたり連続して2回実行し,高いほうを採用するという,レギュレーションと同じ方法を採用した。
Pascalが突出して高いスコアを示すTime Spy
以下,GPUベンチマークのグラフは,基本的にGeForce→Radeonの順で,かつGPU単位ではモデルナンバー順としてあるが,いずれもグラフ画像をクリックすると,スコア順に並び替えたものを表示するようにしてあると断りつつ,総合スコアをまとめたグラフ1から見ていくことにしよう。
これを見ると,GTX 1080のスコアが突出し,少し離れてGTX 1070が続くといった形で,Pascal世代のGPUが上位を占める結果となった。前世代のハイエンドモデルで比較すると,R9 Fury XがGTX 980 TiやGTX TITAN Xに対して優勢に立ち回り,R9 FuryにR9 Nano,R9 390XがGTX 980より高いスコアを示すあたりからは「DirectX 12で強いRadeon」を感じられるのだが,それらをまとめてGTX 1080が置き去りにしているのはとても興味深いところだ。
これだけで判断するのは難しいが,Time Spyにおける「フレームあたりのAsync Compute負荷が10〜20%」というのは,Radeonの「Async Shaders」にとって意味がある以上に,GP104コアの高クロック動作と,実行スレッドの切り換えをスレッド優先順位に従いつつ割り込みを行う「プリエンプション」(preemption)機能にとって絶妙な負荷状況ということなのかもしれない。
RX 480はGTX 980とほぼ互角で,これはRX 480のレビュー記事におけるDirectX 12世代タイトルのスコアとほぼ同じだ。
Graphics testの結果をもう少し詳しく見るべく,グラフ2にはGraphics test 1,グラフ3にはGraphics test 2の平均フレームレートをまとめてみた。
全体の傾向は総合スコアを踏襲するが,あえていえば,GTX 1070とR9 Fury Xを比べたときに,より描画負荷の高いGraphics test 2でより大きなスコア差がついている点は目を惹く。何らかの理由で,描画負荷の高いケースではFijiコアよりもPascal系コアのほうが優勢になっているとは言えそうである。
Time SpyがどれだけCPUに依存するテストなのかも確認しておく必要があるだろう。そこで,GPUをGTX 1080で固定のうえ,マザーボードのUEFIからHyper-Threading Technologyの有効/無効,有効にするCPUコア数を切り換えて,標準仕様の4コア8スレッド(以下,4C8T)以外に,4コア4スレッド(以下,4C4T),2コア4スレッド(以下,2C4T),2コア2スレッド(以下,2C2T)といった状況を作り出したうえで,Time Spyを実行することにした。
グラフ4は総合スコア,グラフ5はCPU testの結果をそれぞれまとめたものになるが,論理コア数の違いは,スコアに大きな影響を及ぼしている。とくに後者で平均フレームレートを見ると違いは顕著だ。
もともと3DMarkのCPU testはFire Strikeの時点でマルチスレッド処理に最適化済みなので,驚くには値しないが,「ゲーム用PCとして使うなら物理4コアは欲しい」とは言えそうである。
ログの取得が可能なワットチェッカー「Watts up? PRO」を用い,Time Spy実行時におけるシステム全体の消費電力を取得し,最も高い消費電力値をスコアとして採用したものがグラフ6となる。
従来世代のGPUだと,R9 Furyシリーズの健闘(というかベンチマークスコアを踏まえた場合の相対的な低さ)はなかなか立派だと言えるのだが,スコア対消費電力比で言うと,GTX 1080とGTX 1070が驚異的だ。GTX 1080ですらR9 Fury Xより30W以上低く,GTX 1070に至っては消費電力の低いほうから数えたほうが早いわけで,さすがは新世代と言ったところだろうか。
Time SpyではPascalが優勢。DX12世代のタイトルは,ゲームの作り方次第で傾向が変わる!?
おそらく,GeForceに最適化したDirectX 12タイトルではTime SpyよりももっとPascal世代のGeForce優勢となり,Radeonに最適化したDirectX 12タイトルでは,RadeonがPascalとのスコア差を詰め,場合によっては逆転するということも起こるのではなかろうか。
その意味でTime Spyは,「ほかのどんなDirectX 12タイトルとも似ていない」という点で,従来のテストよりもさらに「実ゲーム」からは離れた存在になるだろう。しかし同時に,DirectX 12世代の中道的なベンチマークテストとして,新たな価値をもたらしてくれそうな気配もある。
4Gamerの3DMark公式ミラーページ
Futuremark公式Webサイト(英語)
- 関連タイトル:
3DMark
- この記事のURL: