Xamarin.iOS 中的浮点运算
默认情况下,Xamarin.iOS 将使用 ARM 上的 64 位精度执行 32 位和 64 位浮点运算。
虽然这种更高的精度更接近于开发人员对在台式机上进行 C# 浮点运算的期望,但在移动设备上,性能影响可能很大。
可以编译 32 位浮点代码以使用 32 位浮点运算。 为此,可以取消选中 Visual Studio 的 iOS 生成属性页中的“按 64 位浮点执行所有 32 位浮点运算。”选项,或者将项目文件中的 MtouchFloat32
属性设置为 true
(如果该属性尚不存在,请创建该属性):
<MtouchFloat32>true</MtouchFloat32>
这将通知静态编译器(Mono 的内置静态编译器或 LLVM 提供支持的静态编译器)使用 32 位浮点执行浮点运算。