3DMark-Time-Spy-DirectX-12-Benchmark-4



スポンサードリンク




グラボの性能を測るベンチマークとして定評がありリーク情報でも信憑性の高いFireStrike等を含む3DMarkの新たなベンチマーク「Time Spy」のティザームービーが公開されています。「Time Spy」の見どころは度々話題に上がる非同期演算(Asynchronous Compute)をはじめとしたDirectX12の性能測定をサポートしている点です。


現在行われているSteamのサマーセール後にリリース日時など詳細情報を公開するとのことです。
ソース:http://videocardz.com/61272/3dmark-time-spy-supports-asynchronous-computing

DirectX12性能については従来のOSDモニタが使えなかったりして、情報が錯綜しているためDX11性能のFireStrikeのように比較的信用できるベンチマークが登場するのは非常にありがたいですね。


非同期演算とは? 各社の対応は?

「非同期演算(Asynchronous Compute)」とはなんぞや?という人はこちらのAMDによる簡易説明スライドをご覧ください。
3-635x357

このスライドでもわからない人は4gamerが日本語で簡単にまとめてくれています。
AMDが「Async Shaders」を猛烈にアピール。“とっくに実装済みの機能”が,DX12時代の切り札となる!?

上の記事から引用して非同期演算を簡単に説明すると、”グラフィックスのタスクと計算(Compute,以下 コンピュート)のタスクをGPUで同時に実行できる機能」ということになるだろう。このとき,グラフィックスとコンピュートタスクを非同期 (Asynchronous)に並列動作させられるからAsync Shadersと命名したのだそうだ”ということになっています。

GPUでコンピュートタスクとグラフィックタスクを同時に行う方法としては、「マルチスレッド」(Multi-thread)や「プリエンプション」(Pre-Emption)といった手法が存在しますが、いずれもオーバーヘッド(余分な処理時間)が生まれてしまいます。
007008
しかしながら「非同期演算(Asynchronous Compute)」ならばそうしたオーバーヘッドなしで並列演算が可能になるそうです。

ではこの非同期演算への対応の有無がどうして問題になるのかというと、2016年に入って数作の対応タイトルが出てきた次世代API「DirectX12」(あと「vulkan」とかも)の存在が挙げられます。
現在主流なAPIである「DirectX11」ではタスクキューを1つしか持ちませんが、「DirectX12」では複数のラスクキューを持ち(複数コア、多スレッドCPUで性能が上がると言われる理由)、DirectX12特有のパフォーマンス向上には非同期演算への対応が欠かせないと言われています。
009010

またこの機能はVR描画にも関係するようでOculusなども言及していたりしました。
そのため、去年の年末頃からAMDは「うちのGPUは非同期演算(Asynchronous Compute)にはとっくの昔に対応済みだよ!」と宣伝していたりします。

そして非同期演算については後れを取っているとみられるNVIDIAでは次世代GPU Pascalにおいて「プリエンプション(PreEmption)」を採用する形で非同期演算に対応しています。ただし前世代Maxwell以下で使用されていたものよりも発展した形となっているとも説明されています。
slides16-900x506
発展型プリエンプションについて簡単に説明すると、Maxwell以前のGPUではグラフィック描画スレッドの切り替え(プリエンプション)を行えるのは描画コマンド単位でしたが、発展型プリエンプションを採用するPascalからは1ピクセルの描画あたりやCPUと同レベルの実行命令単位あたりでプリエンプションが行えるようになっているそうです。詳しくはこちらの記事を参考にしてください。
西川善司の3DGE:「GeForce GTX 1080」とはどんなGPUか。そのアーキテクチャをひもとく

管理人もTitanXとGTX1080を使ってPascalアーキでDirectX12性能が上がっていることを確認しました。
GTX1080をレビュー ~DirectX12の性能編~



非同期演算で性能は上がるの?

非同期演算(DX12対応)によるパフォーマンス向上はRise of the Tomb Raiderの先日のDX12対応でも公式に取り上げられています。下の図のようにDirectX11ではRendering(1)やDriver(2)にオーバーヘッドが発生していますが、DirectX12ではローレベルAPIなのでドライバのオーバーヘッドがなくなり、Rendering(1)の処理時間が分散できています。
tumblr_inline_o3vsjaoaAk1qij4lt_1280
しかしながら管理人が同時期に執筆した記事で書いたように、必ずしもDX12に対応したからといってDX12よりもパフォーマンスが向上するという事実は全くないというのが現状です。

2016年3月26日現在でDX12に対応しているゲームは「Rise of the Tomb Raider」、「Hitman2016」、「Gears of WarUE」、「Quantum Break」、「Forza Motorsport 6: Apex」、「Ashes of Singularity」の6種が代表的です。
うちDX12の独占対応となっているのはGears of WarUE」、「Quantum Break」、「Forza Motorsport 6: Apex」の3種で、それ以外はDX11とDX12の両対応で比較が可能になっています。

管理人自身、サブ機のR9 NANOやGTX TitanX、GTX1080等で試しており、海外での比較検証も眺めてみたところ次のような感想を持ちました。

Rise of the Tomb Raider」:DX12はDX11よりパフォーマンスが下がり、グラボ別のパフォーマンス序列にも変動はほぼなし。最新のアップデートではDX12で一部パフォーマンスは向上するもののオブジェクトの明滅などDX12には不具合がある。

Hitman2016」:DX12とDX11でのパフォーマンスは上昇と下落の両結果が報告されており、管理人の環境ではパフォーマンスが下がった。16年6月時点でもアプデが続いているがDX12はいまいち安定していない。DX11とDX12ともにAMDグラボ優勢。

Gears of WarUE」: 初期のAMDグラボ(特にFuryシリーズ)のランダムフリーズをはじめとしたバグが酷く、海外検証は今のところ当てに出来なかったが。最新パッチの状態でもFuryX相当へOCしたR9 NANOやFuryXによる980tiへの下克上は不可能でした。

「Quantum Break」:FuryXがGTX980tiよりも高いパフォーマンスを発揮するなどAMDグラボの優位性が確認できました。 参考ベンチ1参考ベンチ2

Forza Motorsport 6: Apex」:R9 NANOがGTX980tiに迫る性能だったのでDX11ゲームに比べるとAMD優位っぽい。

Ashes of Singularity」:管理人は未検証。海外の比較検証ではDX12はDX11よりもかなり優位なパフォーマンスを示し、非同期演算によるAMDグラボでのパフォーマンス向上も確認できる(NVIDIAグラボでは強制OFFのため変化なし)。ただし管理人が以前オンラインリザルトを漁ったところ同じCPU、同じグラボでもスコアにかなりのバラつきがあり、グラフィック設定別にスコアも比例しなかったりでグラボの性能を測るベンチマークとしては個人的に全く信頼できないと思っています。
aos_390_crazyaos_gtx970_crazy
転載元:http://pclab.pl/art67995.html

以上のように非同期演算によって大幅なパフォーマンスアップが期待できるかというと、DX11併用では不具合や性能低下もあり、ネイティブ対応でも特出した結果は出ていません。また非同期演算のゲームへの組み込みは製作者サイドにとってはかなりハードルが高く、リターンは少ないとも報告されています。
非同期演算(Asynchronous Compute)によるHitman2016での性能向上はせいぜい5~10%であり、開発者曰く、”調整は非常に困難”。

現時点ではDX12がDX11に優位かつAMDグラボがNVIDIAグラボに圧倒的に勝ると言う結果を示しているのが現状で「Ashes of Singularity」しかないというのが現状になっています。






(注:記事内で参考のため記載された商品価格は記事執筆当時のものとなり変動している場合があります)



スポンサードリンク