我有一個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,但我不明白爲什麼這會造成如此巨大的差異。任何想法有什麼不對?
你可以量化'慢很多'嗎? – WarrenFaith 2011-12-23 15:41:59
@WarrenFaith我用實際數字更新了問題。 – dbyrne 2011-12-23 16:31:48