SIGGRAPH 2014: IA 上の DirectX* 12 サポート

同カテゴリーの次の記事

Direct3D 12 概要 パート 1: ハードウェアに近く

この記事は、インテル® デベロッパー・ゾーンに掲載されている「SIGGRAPH 2014: DirectX 12 on Intel」の日本語参考訳です。


SIGGRAPH 2014 で、インテルはパフォーマンスと消費電力の関係に注目して、今後登場するマイクロソフトの DirectX12 API を使用した技術デモを行いました。

このデモでは、5 万ものユニークな小惑星シーンを完全にダイナミックに 2 つのモード(パフォーマンスの最大化と消費電力の最小限化)でレンダリングします。アプリケーションは、ボタンをクリックすることで DirectX 11 と DirectX 12 による描画を切り替えることができます。SIGGRAPH のデモブースでは、第 4 世代インテル® Core™ プロセッサーを搭載した Microsoft* 社の Surface Pro 3 タブレットを使用しました。

すべての結果は、タブレットが安定し、熱的に制約のある状態で動作している環境下で収取されました。これは、過酷なゲームを 10 分から 15 分プレイしたことに相当します。

パフォーマンス

パフォーマンス・モードでは、アプリケーションは、プラットフォームの熱および電力の制約内で可能な限り高速に実行することが許されます。DirectX 11 を使用した結果を次に示します:

sp3_dx11

イメージは、フレームレート(左上)と、CPU および GPU 間の消費電力の分布を示します。デモを DirectX 12 に切り替えると、劇的な改善が見てとれます:

DirectX 12 でパフォーマンスは、~ 70% 向上しました(19fps から 33fps へ)。電力グラフは、何が起こっているかを知る手掛かりとなります。DirectX 12 は、低オーバーヘッドとマルチスレッド化されたレンダリングを考慮して設計されています。新しい API を使用することで、CPU の電力要求を軽減し、その分を GPU に回すことが可能となりました。

電力

DirectX 12 の省電力機能を直接比較するため、デモでは各 API におけるワーク量を同じくするため、フレームレートを固定する機能をサポートしています。ワークロードを固定して、DirectX 11 (電力グラフの左半分)と DirextX 12 (右半分)を切り替えると、次のような結果が表示されました:

同じシーンのレンダリングを DirectX 12 と DirectX 11 を使用した場合を比べると、DirectX 12 の場合 CPU の消費電力が半分以下になり、その結果デバイス温度は下がってバッテリー寿命が延びました。

DirctX 12 の電力効率の向上は、グラフィックス・サブミッションのオーバーヘッドの低下とマルチスレッド化による効率向上の両方でもたらされています。低い動作周波数のより多くの CPU コア間でワークを分割すると、高い周波数のシングルスレッドよりも電力効率は劇的に高くなります。

まとめと次のステップ

このデモでは、DirectX 12 における電力とパフォーマンスの両方が大幅に改善されたことを示しています。デモの結果を顕著に見るため、固定電力と固定ワークロードが取り入れられています。実際に開発者は、アプリケーションの電力効率とパフォーマンスを任意に組み合わせて利用できます。

電力とパフォーマンスには緊密な関連があることを覚えておいてください。”CPU と GPU の依存性” の従来の概念は、Surface Pro 3 のような最新のデバイスでは紛らわしいことがあります。CPU の電力効率の改善は、アプリケーションが “CPU 依存” ではない場合でもパフォーマンスの利点が得られます。

この初期のデモの開発に協力いただいた、マイクロソフトのパートナーの皆さんに感謝します。マイクロソフト社が DirectX 12 をリリースした後に、正式に公開する予定です。それまでは、インテルとマイクロソフトのツイッタ―・フィードをご覧ください (@IntelSoftware、@DirectX12)。

詳細情報:

http://blogs.msdn.com/b/directx/

https://twitter.com/DirectX12

https://twitter.com/IntelSoftware

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • Direct3D 12 特集Direct3D 12 特集 2014 年 3 月にサンフランシスコで開催されたゲーム・デベロッパー・カンファレンス (GDC) で、Microsoft 社は 2009 年以降に初めてのグラフィック API を、DirectX 12 […]
  • Direct3D 12 概要 パート 1: ハードウェアに近くDirect3D 12 概要 パート 1: ハードウェアに近く この記事は、インテル® デベロッパー・ゾーンに掲載されている「Direct3D 12 Overview Part 1: 'Closer To The Metal'」の日本語参考訳です。 GDC 2014 […]
  • Direct3D* 12 概要 パート 9: まとめDirect3D* 12 概要 パート 9: まとめ この記事は、インテル® デベロッパー・ゾーンに公開されている「Direct3D* 12 - Console API Efficiency & Performance on PCs – […]
  • Microsoft* DirectX* 12 におけるリソースバインドの紹介Microsoft* DirectX* 12 におけるリソースバインドの紹介 この記事は、インテル® デベロッパー・ゾーンに公開されている「Introduction to Resource Binding in Microsoft DirectX* […]
  • インテル・ゲーム開発者コミュニティーインテル・ゲーム開発者コミュニティー インテル・ゲーム開発者コミュニティーへようこそ! このページでは、みなさんのゲームを際立たせるコードサンプル、ツール、およびその他のリソースを紹介します。 "GUID Autosport の開発" […]