版权声明:本文为博主abcnull的原创文章,未经博主允许不得转载。 https://blog.csdn.net/abcnull/article/details/80410161
求游戏界面的FPS帧率
下面代码是我在做本科毕业设计时候写的计算FPS帧率的方法,代码比较好理解,在整个项目里头注意有许多的属性。
在整个项目里头还有lastTime属性,保存有最近的上一次计算帧率的时刻,有lastFrame为最近的上一次计算帧率时的帧数,有frame表示游戏绘制到第几帧了。
//得到FPS
public int getFPS(){
//得到当前时刻
long nowTime = System.currentTimeMillis();
//若当前和上一次计算成功FPS的时候时间差大于1000ms时
if(nowTime - lastTime >= 1000){
//计算(int)FPS
float secs = (nowTime - lastTime) / 1000f;//时间差(s)
fps = Math.round((frame - lastFrame) / secs);//FPS帧率(int)四舍五入后
//更新上次的FPS时间和帧数
lastFrame = frame;//更新上一次帧数
lastTime = nowTime;//更新上一次时间
}
return fps;
}