お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2015/03/31 16:39

テストレポート

「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた

 すでにお伝えしているとおり,フィンランド時間2015年3月26日,Futuremarkが「3DMark」のメジャーバージョンアップを行った。バージョン1.5.884となった3DMarkでは,新たに「API Overhead feature test」というテストが追加され,DirectX 12とDirectX 11,それにMantle 1.0における各APIにおけるオーバーヘッドを比較できるようになったのが特徴だ。
 というわけで,取り急ぎ動かしてみた結果をレポートしてみたい。

API Overhead feature test
画像集 No.002のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた


今回はGeForceだとDX12モードのテストは行えず

RadeonならMantle,DX12いずれも実行可能


画像集 No.009のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた
 さて,そんなAPI Overhead feature testだが,実行にあたっての大前提として,実行したいAPIに対応したGPUが必要となる。DirectX 11(Direct3D 11) APIであれば,探すまでもないだろうが,Mantle 1.0(以下,Mantle)であれば,「Graphics Core Next」アーキテクチャ採用のRadeonシリーズが,DirectX 12なら,DirectX 12(Direct3D 12)対応のGPUが必要になるというのは押さえておきたい。

 付け加えると,DirectX 12でテストを行いたい場合,2015年3月下旬時点では,「Windows 10 Technical Preview」と,同プレビューに対応したグラフィックスドライバも必要になる。

3DMarkのFeature Testメニュー。ハードウェア要件が記載されている
画像集 No.003のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた

 Windows 10 Technical Preview用のDirectX 12対応グラフィックスドライバは,GeForce用の「GeForce Driver」,Radeon用の「Catalyst」とも,Windows Updateで提供される。そして,NVIDIAが公開している情報によれば,「GeForce 349.72 Driver」というドライバがDirectX 12をサポートしているとのことだったのだが,今回,筆者が用意したシステムでは,「GeForce GTX 980」リファレンスカードを差した状態だと,何度Windows Updateを繰り返してもエラーで同ドライバが適用されなかった。
 ちなみに,テストに用いたWindows 10 Technical Previewのビルドは10041で,これを導入したとき最初に導入される「GeForce 347.25 Driver」では,DirectX 11のテストしか行えなかった。

 一方,「Radeon R9 290X」(以下,R9 290X)のリファレンスカードを差した場合,Windows UpdateでDirectX 12対応ドライバ「15.20.1012-150227n-180971E-ATI」が何の問題もなく適用され,API Overhead feature testをDirectX 12 APIで実行することができた。なので今回はR9 290Xのみでテストを行うことになる。
 なお,テストに用いたシステムはのとおりだ。

画像集 No.004のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた


API Overhead feature testを実際に動かしてみる


 端的に言うと,API Overhead feature testは,DrawCall(ドローコール)のオーバーヘッドを見るテストである。
 DrawCallというのは,グラフィックスの描画にあたり,APIに対して発行されるリクエストのこと。Mantleでは,このDrawCallをハードウェアレベルに近い層で処理することを実現し,DirectX 12もその流れを汲んでいるので,DirectX 11と比較することで,DrawCallのオーバーヘッドがいかに削減されたかをチェックできるというわけだ。

 技術資料によると,API Overhead feature testでは,112〜127個のポリゴンから成るユニークなオブジェクトを,プロシージャル(procedual,アルゴリズムによって自動的に創り出すこと)に生成し,それを,ポストプロセス処理を伴わない,シンプルなシェーダプログラムで描画している。地下都市のような地表のオブジェクトと,そのミラーイメージを,平行光源を用いたシャドウマップを使って描画しながら,DrawCall数を増やしていくテストになっているという理解でいい。

テストシークエンスより。「地下都市のFlyby」的なデモだが,“天井”部に表示されるオブジェクトは“地上”部のミラーになっている
画像集 No.008のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた 画像集 No.007のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた

 テストシーンは,バックバッファへ展開される前に,レンダーターゲットへ展開される。このとき,API DrawCallのオーバーヘッドがレンダリングアプリケーション側のそれよりも常に大きくなるよう,視錐台および遮蔽カリング(frustum or occlusion culling)を行わないようになっているという。

DrawCall数を増やしていくルールがまとまったテーブル(出典:Futuremark)
画像集 No.006のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた
 さて,テストは,フレームごとのDrawCall数が少ない状態からスタートして,20フレームごとにDrawCall数を増やしていく。そして負荷が高まっていけば,当然のことながら,どこかの時点で30fpsを割るタイミングがやってくる。
 そういう状況を迎えた場合,テストはフレームあたりのDrawCall数を固定し,その状態で3秒以上,平均フレームレートを計測する。そのうえで,平均フレームレートとフレームあたりのDrawCall数をかけ,スコアである1秒あたりのDrawCall数を求めるのだ。

 MantleとDirectX 12のテストはそれぞれ1つずつ。DirectX 11には「Single-thread」と「Multi-thread」の2つがあるが,前者ではその名のとおり,すべての処理を1つのCPUスレッドで処理することになる。後者では,シャドウマップとライティングパスを均等に複数のスレッドに割り振り,処理を行う。
 要するに,Single-threadは,デュアルコアCPUなどにおいて,APIのオーバーヘッドの低減が性能の向上をもたらすかどうかを知るための指標となる。一方のMulti-threadは,主に4コア以上のCPUにおけるAPIのオーバーヘッドの低減が性能にどう影響を来すのかを見るための指標となるわけだ。
 テストは論理コア数と同数のスレッドで処理されるが,スレッドの1つはグラフィックスドライバに充てられるため,デュアルコアCPUを使った場合は,Single-threadと同じスコアになるという。

 それを踏まえて,デフォルト解像度となる1280×720ドットで実行したテスト結果を見てみよう。
 スコアはグラフにまとめたとおり。DirectX 11だと100万前後なのが,Mantleではその17倍以上,DirectX 12ではそこからさらに上積みありというのが見て取れる。MantleとDirectX 12が同じ方向を向いていることや,DirectX 12がMantleの先を行っていること,DirectXではシャドウマップとライティングパスを割り振った程度だとDrawCall数の向上につながらないことが分かる,ともいえそうだ。

画像集 No.005のサムネイル画像 / 「3DMark」の新テスト「API Overhead feature test」を動かし,DX12への期待を高めてみた

 なお,Futuremarkは,本テストは単一のGPUでAPIの違いを見るためのもので,GPU同士の比較には適さないことと,ゲームではあまり利用されない,ユニークなテストであることを断っている。
 そのため,今回の大きなスコア差がそのままDirectX 12とDirectX 11でのゲーム性能差に直結すると期待すべきではない。また,今後GeForceで動作することが確認できたとしても,Radeonと比較すべきでもない。この点は注意が必要だが,ただ,DirectX 12が持つメリットの一端が垣間見えたとは言ってもよさそうだ。DirectX 12の正式リリースと対応タイトルの登場に期待が膨らむところである。

関連記事:「3DMark」の新バージョン「1.5.884」公開。DX12とDX11,Mantleのオーバーヘッドを相対的に比較可能なテストが追加される

  • 関連タイトル:

    3DMark

  • 関連タイトル:

    Radeon R9 200

  • 関連タイトル:

    DirectX

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月22日〜11月23日