2015年03月27日

R9 290XがTitanXに互角以上の結果。DirectX 12の潜在能力を3DMarkで測る。


bohyo.jpg
WCCFより


 DirectX 12やMantleに対応した3DMarkの最新版がリリースされたが、レビュアーにはすでに先行公開されており、海外ではさっそくベンチマークレビューが紹介され始めている。


 その内容が、オーバーな外国人が仰天するほどの結果で、興味深い中身を見て行きたいと思います。



3DMarkの機能と次世代API


 ベンチマーク結果を見る前に今回の3DMARKの機能と次世代APIについて論じておく必要がある。

 まず次世代APIの目的としてオーバーヘッドの削減があり、本テストはその効果やCPUのパフォーマンスを測るためのベンチマークであるということだ。


 最新版の3DMarkで追加された機能では、DX12、DX11、Mantleの各APIのオーバーヘッド要素の相対的な性能差を、ドローコールの処理性能などを見ることで測れるようになった。

 このドローコールというのは大雑把には、オブジェクトの描画やレンダリングのためにCPU側が発行するリクエストのこと。このドローコールがある一定の数になると、システムの大きなオーバーヘッドになり、多くのケースではパフォーマンスの足かせになる。

 とりわけ従来のAPIでは、このワークロードが最適化されていないため、ドローコールの数が膨大になるとAPIやCPUがその処理に追いつけなくなり、それが性能上のボトルネックとなっていた。


 DX12やMantleなどの次世代APIでは、このワークロードをCPUのスレッド毎に効率より振り分けることでオーバーヘッドの削減を目指しており、ボトルネックの解消や、CPUのさらなる性能を引き出そうとしているわけだ。



 3DMarkテストの具体的な仕組みだが、まず最初にドローコールは少ない数からスタートする。フレーム毎のドローコールの数は20フレームごとに徐々に増えていき、それは30fpsを下回るあたりまで続く。そしてその状態で、三秒間ドローコールとフレームレートを計測する。そして最後にテスト結果として、1秒あたりに処理したドローコール数が表示される、といった具合だ。


 MSやFuturemarkは今回の機能をGPUなどの比較に使うことは推奨していない点には注意しておきたい。




DX11とDX12では数倍以上の差が。R9 290XとTitanXは互角の勝負を繰り広げる。


 MSやFutureMarkはGPUの比較に使うことを推奨していないが、実際のところベンチマークでは大きな差が生じている。





上からDX11シングル、DX11マルチスレッド、Mantleマルチスレッド、DX12マルチスレッド。
数が大きいほどよい。

Radeon R9 290X
 dx12_api_perf_R9 290X.png

 DX11ではたった90万ドローコールしか処理できておらず、シングルやマルチスレッドでも違いは見られない。

 これがMantleになるとその処理量が秒間1240万ほどまでジャンプアップし、DX12になるとそのドローコールの数は、1340万までになる。



Geforce GTX TitanX
dx12_api_perf_4770k_titanx-.png

 TitanXはDX12で、ドローコールは13,419,183。

 R9 290Xが13,474,728なので、R9 290Xの方が若干良い結果。




R9 290XがGTX980を33%上回る。


 以下は、PCperがドローコールを計測したもの。


Radeon R9 290X
dx12-290x.png

Geforce GTX980
dx12-980.png



 どの結果でも、DX12がCPUの処理効率を劇的に改善していることがわかる。




 あくまでベンチマークとドローコール数の結果であり、実際のゲームでの性能を反映するものではありません。


posted by 日々さか@海外 at 11:37| Comment(13) | TrackBack(0) | API (DirectX12、Vulkan、Mantle) | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
radeonの方がハイエンドCPUを生かせるってこと!?
NvidiaではハイエンドCPU買っても意味無い!?
Posted by at 2015年03月27日 13:18
開発にAMDが関わってるのが大きいのかな?
Posted by at 2015年03月27日 19:11
ベンチ自体は、GPUの全容を見るには適していないため、どのカードは〜というのはもう少しデータが必要かもしれません。

ポストプロセスもなく、シェーダー負荷も軽いものになってるみたいで、基本的にはAPIやCPUのテストに特化したベンチになってます。
Posted by ひびさか at 2015年03月28日 10:06
>radeonの方がハイエンドCPUを生かせるってこと!?
>NvidiaではハイエンドCPU買っても意味無い!?


興味深いのは、どちらのメーカーも6スレッドあたりでスコアが頭打ちになっている点ですね。

ですのでRadeonもまだまだCPUの力を引き出しきれていないとも言えるかもしれません。
Posted by ひびさか at 2015年03月28日 16:33
厳密には違いますが30fpsという基準がある以上、これはドローコール数あたりの処理の比重を表しているとも受け取れますね。
ドローコールばかりでは成り立たず値が高い方が良いとも限らないように思うので、MantleとDX12の差もそれによる優劣はつけられない感じがします。

解像度やGPUクロックを変更しても特に変化はなく、よってCPUの力を引き出せないとも違うようで、単にAPIの違いを見るためのものようです。
迷走しているのか何か意図があるのか分かりませんが、あまり意味があるとは思えないテストを今中途半端に実装してしまったので勘違いが起きそうですね。

あと少なくともこのようなテスト内容で無ければ、DX11とDX12の明確な差が出てこないのかなとも。
現状Mantleでも差を見せるのが大変なようですし、あまり期待させすぎな感じはします。
Posted by アキ at 2015年03月28日 19:56
さすが穿ってきますねw
MSがDX12を必死にアピールしてるのは伝わります。

まあ次世代APIはインテルも取り組む姿勢見せ始めてますし、何らかの成果は期待してますよ。
Posted by ひびさか at 2015年03月28日 22:25
数桁違いの見せ方をしても現実はというのが基本的な見方です。
今回のデモを見てそういろいろ現実を感じ取れました。
ベンチマークはともかく活かすのが簡単ではなさそうですね。
Posted by アキ at 2015年03月29日 01:46
このベンチはdx12の最適化率ベンチってとこじゃない
Posted by at 2015年03月30日 08:05
このテストはGPUのドローコール処理量でしかないですね
このテストから分かることは、CPUの性能がとっくの昔にGPUに対してオーバースペックになっていたというだけ
ちなみに普通のMantleゲームやDX12デモでのCPU負荷率は数%から10%以下しか無いです
つまり実ゲームで必要なのはこの結果の1/10以下の100万コールもいらないでしょう
100万コールでいいなら既存のCPUはAtomやAM1レベルでも何とかなるんじゃないでしょうか
まあ、実際には3Dやポストプロセス処理に使う負荷のほうが遥かに高いでしょうけど

もしかしたらシェーダー負荷が低くてドローコールばかりのゲームとか出てくるかもしれないですね
Posted by at 2015年03月31日 00:43
そういえばStarswarmのベンチでもIntelハイエンドがAMDAPUとスコアがあまり変わらない なんてことがありましたね。
Posted by ひびさか at 2015年04月01日 08:35
約秒間1200万のドローコールを処理できる。
つまり60fpsだと約20万使えるんですね。
本物の猫の毛が約100万本らしいので後5倍性能あがると毛1本ずつシュミレートしたものが作れちゃう。
DX12すごい。
AMD頑張って。

そのくらいしか用途が思いつかない。

砂塵を20万粒で表現とか?
そこまで行くと顔に積もったり跳ね返ったりとかまで出来そう。
ワクワクします。
Posted by at 2015年04月06日 16:50
更新やめちゃったんですか?
Posted by at 2015年07月11日 17:05
新技術の宣伝は過剰になるからね
DX12の実際のベンチでは3%アップとかになる落ちでしょ
Posted by あ at 2016年03月19日 15:38
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。