Ho un Android application che utilizza NDK per eseguire una grande quantità di matematica in virgola mobile.Prestazioni matematiche in virgola mobile Android
Ho appena acquistato un nuovo Galaxy Nexus. Con mia sorpresa, la mia app esegue MOLTO più lentamente del dovuto. Sospetto che ciò avvenga perché la maggior parte dei dispositivi utilizza l'accelerazione hardware e il Galaxy Nexus no. Se eseguo un'operazione che non richiede la matematica in virgola mobile, il Galaxy Nexus esegue come mi aspetterei.
Qui ci sono le specifiche CPU/GPU e le temporizzazioni dei campioni per diversi dispositivi. Ho normalizzato le statistiche di prendere in considerazione la risoluzione del display:
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
Ho questa configurazione nel mio Application.mk
di file:
APP_ABI := armeabi armeabi-v7a
non ho ri-compilato la mia codice con NDK-R7, ma Non capisco perché questo farebbe una differenza così drammatica. Qualche idea su cosa sia sbagliato?
potresti quantificare "MOLTO più lento"? – WarrenFaith
@WarrenFaith Ho aggiornato la domanda con i numeri reali. – dbyrne