この記事の3行まとめ
- Unity Technologies、Unity 6におけるDirectX 12採用による改善点を紹介した記事を公開
- DirectX 12は、Unity 6.1以降のバージョンでデフォルトのグラフィックスAPIとして設定される
- 「Pipeline State Object(PSO)」への対応などについて解説
Unity Technologiesは2025年4月16日(現地時間)、『DirectX 12 improvements in Unity 6』と題した記事を自社ブログで公開しました。
(画像はUnity Blogより引用)
Unity 6.1以降のバージョンでは、DirectX 12(以下、DX12)がデフォルトのグラフィックスAPIとして設定されます。DX12はマルチコアCPUの利用効率を高められるよう設計されているとのこと。
記事では、Unity 6においてDX12を採用することによるパフォーマンスの改善点などを紹介しています。
DX12をサポートしたスレッドモードによりCPUのボトルネックを改善
Unityのレンダリングシステムで利用できるスレッドモード「NativeGraphicsJobsSplitThreading」は、DX12をサポートしています。
「NativeGraphicsJobsSplitThreading」を用いることで、多数のドローコールを必要とする大規模で複雑な環境での処理を高速化でき、特にCPUがボトルネックになっているゲームに効果的であるとしています。
(画像はUnity Blogより引用)
PSOを事前にクックできる新たなAPIがUnity 6から導入
DX12は、シェーダーやラスタライザの設定など、レンダリングパイプラインの状態を事前に定義し実行時の負荷を軽減する「Pipeline State Object(PSO)」に対応しています。
PSOの作成に対応するため、Unity 6ではPSOを事前にクックできる新たなAPI「GraphicsStateCollection」が導入されました。
「GraphicsStateCollection」の詳細は、Unity Discussionsにて解説されています。
(画像はUnity Discussionsより引用)
そのほかにも、可変レートシェーディングや「DirectX Raytracing(DXR)」といったDX12の機能に対するUnity 6のサポートについて紹介しています。
詳細は、Unity Blogをご確認ください。
DirectX 12 improvements in Unity 6 | Unity Blog