Direct3D12 vs Direct3D9/11 速度比較

シナリオ1:大量のDrawコール(100万回/フレーム)を実行する場合。

DX9 シングルスレッド 100万回のDrawコールに要した時間142ミリ秒
DX11 シングルスレッド 100万回のDrawコールに要した時間158ミリ秒
DX11 16スレッド 100万回のDrawコールに要した時間54ミリ秒
DX12 シングルスレッド 100万回のDrawコールに要した時間56ミリ秒
DX12 16スレッド 100万回のDrawコールに要した時間31ミリ秒
DX12 16スレッド(バンドル使用)100万回のDrawコールに要した時間29ミリ秒
シナリオ1 測定結果グラフ

シナリオ2:劇重メッシュ(196万トライアングル)1個をレンダリングする場合。

DX9 196万ポリゴンメッシュ1個のレンダリングに要した時間28ミリ秒

DX11はドライバー不具合のため測定不能

DX12 196万ポリゴンメッシュ1個のレンダリングに要した時間15ミリ秒
シナリオ2 測定結果グラフ

今回、シナリオ2のテストでDX11の結果を除いたのは次の理由によります。
DX11のテストを実行したところ、レンダリング時間がほとんどゼロで返ってきました。つまりDX11では「コマ落ち」を許してると思われます。コマ落ちをゆるすと実際にレンダリングにかかった時間が分からなくなるため、測定結果を除きました。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です