我一直在寻找解决方案至少2天没有成功,所以作为我最后的希望,我决定在这里问它。Android NDK vs iOS - 性能问题
在这里,我们有一个使用OpenCV的C++代码库,我们想要在iOS和Android上运行。事实证明,整个事情在Android上运行速度较慢,我找不到原因。分析后,我们知道调用C++代码的方法是两个平台上完全相同的问题。在Android(三星Galaxy S4)上,需要140-150毫秒才能在iOS(iPhone 5)上执行,而在70毫秒以下。 我读过一些关于优化本机代码和使用不同local_cflags的文章,但似乎没有帮助。
这是需要承认的事实还是有解决方案? 预先感谢您,麦克
这是两个不同的CPU。性能差异并不大,而高端品牌则更快。我看起来并不奇怪。请注意,Android手机会更慢;一些中国淘汰品可能会慢10倍。 – MSalters 2014-09-03 10:18:39
确实如此,但Galaxy S4在规格上拥有更好的CPU。看起来没关系。 – arrafutott 2014-09-03 10:30:28
确保你使用armeabi-v7a版本,不仅是一个普通的armeabi版本。普通的armeabi版本不使用FPU,因此如果代码使用大量的浮动,性能方面的表现会非常有限。 (对于整数运算,差异不应该太大。) – mstorsjo 2014-09-03 10:59:25