我正在 Direct3D 11 之上构建一个高性能 UI 布局引擎。该应用程序是使用 Visual Studio 2013 开发的,面向 x64,适用于 Windows 7(带有平台更新)及更高版本。
我需要对可视树中的 2D 元素进行矩阵转换,我想知道使用 DirextXMath 的内置(SIMD 优化)XMMATRIX
及其相关函数是否对 2D 使用有效(因为它只需要 3x3 矩阵,而XMMATRIX
et al 是 4x4 ),或者我是否应该推出自己的矩阵类/函数(不过可能没有任何特定于 SIMD 的代码)。
在我看来,整个 4x4 矩阵意味着要执行大量冗余计算,但与非 SIMD 3x3 矩阵工作相比,这可能会被 SIMD 指令所抵消。
编辑:关于“过早的优化是万恶之源”(及其衍生产品)的评论在这里是多余的(具有讽刺意味的是,还为时过早,因为您对项目一无所知 - 或者我)。这个问题总结了我对某些观点感兴趣/了解更多。