Direct3D 11 の上に高性能の UI レイアウト エンジンを構築しています。このアプリケーションは、x64 をターゲットとする Visual Studio 2013 を使用して開発されており、Windows 7 (プラットフォーム アップデートあり) 以降を対象としています。
XMMATRIX
ビジュアル ツリーの 2D 要素に対して行列変換を行う必要があり、DirextXMath の組み込み (SIMD 最適化)とその関連関数を使用することが 2D の使用に効率的かどうか疑問に思っています ( XMMATRIX
et al が 4x4 であるのに 3x3 行列のみが必要なため)。 )、または独自の行列クラス/関数をロールする必要があるかどうか(おそらくSIMD固有のコードはありません)。
全体を通して 4x4 行列は多くの冗長な計算が実行されることを意味するように思えますが、非 SIMD 3x3 行列の作業と比較すると、SIMD 命令によって相殺される可能性があります。
編集:「時期尚早の最適化はすべての悪の根源である」(およびその派生物)についてのコメントは、ここでは不要です(皮肉なことに時期尚早です。プロジェクトまたは私について何も知らないからです)。質問は、私がいくつかの視点に興味を持っていること、または詳細を知っていることを要約しています。