Cómo calcular FPS a nivel de dispositivo en android
Alguien tiene alguna idea acerca de cómo obtener FPS (marco por segundo) de dispositivo Android?
Hay una opción en la configuración de desarrollo para mostrar FPS, pero quiero escribir una aplicación para hacer lo mismo.
Llama surfaceflinger
api de surfaceflinger
.
En su clase de Activity
principal onDraw()
método onDraw()
. Invoque super.onDraw()
y guarde la hora actual del sistema. Calcular el delta_time
en ms entre la llamada actual a dibujar y la llamada anterior a dibujar. A continuación, calcular FPS utilizando 1000 ms / delta_time ~ FPS
Aquí hay un pseudocódigo:
void onDraw(){ super.onDraw() curTime = getTime(); deltaTime = curTime - prevTime(); aproxFps = 1000 / deltaTime; prevTime = curTime; }
Eso no es algo que usted puede hacer a menos que la raíz del dispositivo y obtener bajo el capó de alguna manera.