相信很多玩家都在游戏中看到 FPS 的字样,比如最近比较火的王者荣耀,FPS 是帧速,代表画面每秒显示的帧数 ( Frames Per Second ) 。一般而言 30 FPS 就是可以接受的,如果 FPS < 30 ,画面会卡顿、不流畅,总而言之, FPS 越高,画面越流畅。
有时候可能需要计算下 FPS ,公式:
fps = frameCount / elapsedTime ;
常见的计算方法:
boolean bFirst = true;
long lasttime = 0;
long elapsedTime = 0; // 总时间
long frameCount = 0; // 总帧数
float fps = 0.0f;// 帧速
void calculateFPS()
{
if (bFirst)
{
lasttime = nativeGetMillisecond();
bFirst=false;
}
long nowtime = nativeGetMillisecond();
elapsedTime += (nowtime - lasttime);
lasttime = nowtime;
frameCount++;
if(elapsedTime >= 1000 )
{
fps = frameCount /(elapsedTime * 0.001f);
frameCount = 0;
elapsedTime = 0;
}
}