Android浮点数学表现

前端之家收集整理的这篇文章主要介绍了Android浮点数学表现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Android application使用NDK执行大量的浮点数学运算.

我刚买了一个新的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指令,因此无FPU代码在运行时用作回退.

猜你在找的Android相关文章