ios根号怎么打_ios – iPhone上最快的逆平方根

我正在开发一款涉及某些物理计算的iPhone应用程序,每秒进行数千次.我正在努力优化代码以提高帧速率.我正在寻求改进的其中一个方面是反平方根.现在,我正在使用Quake 3 fast inverse square root方法.然而,经过一些研究,我听说there is a faster way by using the NEON指令集.我不熟悉内联汇编,无法弄清楚如何使用NEON.我尝试实现math-neon库,但是我遇到了编译器错误,因为大多数基于NEON的函数都没有返回.

编辑:我突然得到一些“不明确的问题”关闭投票.虽然我认为它非常清楚,而且那些回答明显的人都明白了,也许有些人需要明确说明:

你如何使用Neon执行更快的计算?它是否真的是在iPhone上获得反平方根的最快方法?

编辑:我今天在Neon VS Quake上做了一些更正式的测试,但如果有的话,我现在对结果更加不确定:

>应用内测试:(当前在应用商店中的应用,其invsqrt方法已修改)

>地震方法(在压力条件下平均FPS略有增加)

>霓虹灯(这是一个非常接近的电话,但似乎Quake稍快一点)

> 1 / sqrtf()(差异更明显,1-3 FPS下降).

>“正式”测试(一种吞噬我手机CPU的应用程序.计算每种方法通过1??0000000随机生成的浮点数阵列需要多长时间)

>霓虹灯(显然是最快的,如果它用于一次做两个sqrts,速度加倍).

> 1 / sqrtf()(只比霓虹灯慢一点.这个令人惊讶的结果让我认为这个测试“没有结果”,直到我进一步调查)

> Quake(令人惊讶的是,这种方法比其他两种方法慢了几个数量级.鉴于其在另一种测试中的表现,这尤其令人惊讶.)

虽然在应用程序性能测试中,地震与霓虹灯的距离太近而无法确定,但在第一次测试中,地震vs 1 / sqrtf()显然已被切断,第二次测试与输出的值非常一致.但最重要的是应用程序性能,所以我将根据该测试做出最终决定.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值