如何计算在Android设备级FPS [英] How to calculate FPS on device level in android
问题描述
有关于如何得到FPS(每秒帧)的Android设备的任何想法,任何人?
Anyone having any idea about how to get FPS(frame per second) of android device ?
有正在开发中设置的选项来显示FPS,但我想编写一个应用程序来这样做。
There is an option in development settings to display FPS, but I want to write an app to do the same.
据内部调用 SurfaceFlinger的
API
推荐答案
在主活动
类重写的onDraw()
方法。调用 super.onDraw()
然后保存当前系统时间。在当前调用绘制和previous调用之间划出毫秒计算 delta_time
。然后用计算FPS 1000毫秒/ delta_time〜FPS
In your main Activity
class override the onDraw()
method. Invoke super.onDraw()
then store the current system time. Calculate the delta_time
in ms between the current call to draw and the previous call to draw. Then calculate FPS using 1000 ms / delta_time ~ FPS
下面是一些伪code:
Here is some pseudocode:
void onDraw(){
super.onDraw()
curTime = getTime();
deltaTime = curTime - prevTime();
aproxFps = 1000 / deltaTime;
prevTime = curTime;
}
这篇关于如何计算在Android设备级FPS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!