1

嘿,我正在尝试使用 Mono 的 SIMD 在我的项目中处理坐标(X,Y,Z),但我只看到对 Vector2 和 Vector4 类型的支持。以前有没有人遇到过这种情况,有什么解决方法吗?

提前致谢。

4

1 回答 1

4

这与寄存器的工作方式有关。您可以只使用 Vector4f 并将该W部分设置为 0 或 1(取决于您要对矢量做什么),一切都会好起来的。

http://tirania.org/blog/archive/2008/Nov-03.html解释:

在 x86 处理器上,这些指令使用新的寄存器组(XMM 寄存器),并且可以使用多种可能的组合配置为一次处理 16 个字节:

* byte-level operations on 16 elements.
* short-level operations on 8 elements.
* single precision or integer-level operations on 4 elements.
* double precision or long-integer operations on 2 elements.
于 2009-10-26T22:44:23.590 回答