• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Android浮点数学性能

Android 来源:dbyrne 7次浏览

我有一个Android application,它使用NDK来执行大量的浮点数学运算。Android浮点数学性能

我刚收购了一款新的Galaxy Nexus。令我惊讶的是,我的应用运行速度比应该慢。我怀疑这是因为大多数设备都使用硬件加速,而Galaxy Nexus则不是。如果我执行不需要浮点运算的操作,Galaxy Nexus会执行我期望的操作。

以下是几款器件的CPU/GPU规格和采样时序。我已经标准化的统计数据考虑到显示分辨率:

Droid 
CPU: TI OMAP 3430 (ARM Cortex-A8 600 MHz underclocked to 550 MHz) 
GPU: PowerVR SGX530 
Instruction Set: ARMv7 
Test Run: 1,980 pixels per second 

Galaxy Nexus 
CPU: TI OMAP 4460 (ARM Cortex-A9 dual-core 1.2 GHz) 
GPU: PowerVR SGX540 
Instruction Set: ARMv7 
Test Run: 2,253 pixels per second 

Droid Incredible 
CPU: QSD8650 (Qualcomm Snapdragon 1 GHz) 
GPU: Adreno 200 
Instruction Set: ARMv7 
Test Run: 4,571 pixels per second 

我有这个配置在我Application.mk文件:

APP_ABI := armeabi armeabi-v7a 

我还没有重新编译的代码才能使用NDK-R7,但我不明白为什么这会造成如此巨大的差异。任何想法有什么不对?


===========解决方案如下:

您可以尝试使用 APP_ABI := armeabi-v7a 仅强制使用v7a指令。
我可以想象,新CPU不会被检测为支持v7a指令,因此在运行时将no-FPU代码用作后备。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)