この記事は、インテル® デベロッパー・ゾーンに公開されている「Developer and Optimization Guide for Intel® Processor Graphics Gen11 API」の日本語参考訳です。
概要
このドキュメントは、インテル® プロセッサー・グラフィックス Gen 11 のグラフィックス・ハードウェア・アーキテクチャー向けの開発者ガイドと最適化方法を示します。アーキテクチャーの能力とピーク・パフォーマンスを最も効率良く利用する、開発者向けのベスト・プラクティスを提供します。また、インテル® プロセッサー・グラフィックス Gen 11 で最新のグラフィックス API を使用する具体的な API ガイドも紹介します。
このガイドは、Gen 11 向けにインタラクティブ 3D レンダリング・アプリケーションを最適化しようとする開発者を対象としています。開発者は、Microsoft* DirectX* 12、Vulkan* (英語)、および Metal* 2 (英語) 向けのグラフィックス API パイプラインに関する基本的な知識を有することを前提としています。Gen11 は、DirectX* 11 (英語) と OpenGL* (英語) グラフィックス API もサポートしますが、DirectX* 12、Vulkan*、および Metal* 2 などの新しい下位レベル API を利用するアプリケーションは、パフォーマンス上の利点と低い CPU オーバーヘッドの恩恵が得られ、これらの API でしか利用できない新しいグラフィックス・アーキテクチャーの機能もあります。
Gen11 アーキテクチャーの特徴
Gen11 は、Gen9 よりも高いパフォーマンスと高効率を実現し、粗い粒度のピクセル・シェーディング、タイルベースのレンダリング、および新しいディスプレイ・コントローラーの機能を利用できます。さらに、Gen11 では次の改善が行われています。
- 最大テラフロップの計算処理能力
- 非常に低い共有ローカルメモリー (SLM) レイテンシー
- 大きな L3 キャッシュ
- 増加したメモリー帯域幅
- マルチサンプル・アンチエイリアシング (MSAA) のパフォーマンス向上
Gen11 のアーキテクチャーと新機能の詳細は、https://software.intel.com/sites/default/files/managed/db/88/The-Architecture-of-Intel-Processor-Graphics-Gen11_R1new.pdf を参照してください。
タイルベースのレンダリング
Gen11 は、position only shading tile-based rendering (PTBR) として知られる、タイルベースのレンダリング・ソリューションを実装しています。タイルベースのレンダリングの利点は、タイルごとにデータへの複数のレンダリング・パスを効率良く管理することで、メモリー帯域幅を軽減できることです。タイルベースのレンダリングをサポートするため、Gen11 ではタイル・ビニング・エンジンとして動作する並列ジオメトリー・パイプラインが追加されています。これはレンダーパイプラインの前に、タイルごとの可視性ビニングの事前パスで使用されます。タイルごとにジオメトリーをループし、そのタイルの可視性ストリームを使用します。PTBR はタイルごとのデータを L3 キャッシュに保持し、外部メモリー帯域幅を軽減します。詳細については、アーキテクチャー・ガイドを参照するか、インテルのアプリケーション・エンジニアに問い合わせて、ワークロードに利点があるかを確認してください。
粗いピクセル・シェーディング
粗い粒度のピクセル・シェーディングは、DirectX* 12 では可変レート・シェーディングとして知られ、プログラマーは、レンダリング・ターゲットの解像度やラスタライズ・レートにかかわりなくシェーディング・レートを変更できます。このほかにも、この機能により、シェーディング・パラメーターがゆっくりと変化するコンテンツや、後続のレンダリング・パイプラインでぼかしが適応される可能性があるピクセルにおいて、ピクセルシェーダーの呼び出し回数を減らすことができます。この機能により、開発者はコンテンツの最も重要なピクセルにシェーダー操作を割り当てることができます。そして、深度とステンシルはフル・ピクセル・レートで維持されるため、低解像度でレンダリングしてから拡大するよりも優れたビジュアル・ソリューションが得られます。Gen11 ハードウェアは、DirectX* 12 可変レート・シェーディング (VRS) Tier 1 をサポートします。
高ダイナミック・レンジ・ディスプレイ
Gen11 では、ハイダイナミック・レンジ (HDR) ディスプレイのサポートが強化されました。この機能を利用するには、Microsoft* のドキュメント「ハイダイナミック・レンジと広色域 (Wide Color Gamut) の概要」 (https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/high-dynamic-range-and-wide-color-gamut#high-dynamic-range-and-wide-color-gamut-overview) を参照してください。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。