Java中的FPS计数器

时间:2015-11-30 23:56:46

标签: java math frame-rate

所以,我正在制作游戏,我想要一个FPS计数器,但是我不知道我应该做的数学是什么。我之前的计数器有效,但由于数学原因,它每秒都会更新一次。我想要不断更新的东西,但我只是不知道如何制作它。据我所知,最简单的方法是使用一个帧计数器,每帧查看它到目前为止完成的帧以及剩余的时间/剩余时间,并为剩下的第二帧建模当前帧并显示。这似乎是一个很好的理论,但我真的不知道如何将其付诸实践。我知道我需要使用double getFPS(double oldTime) { double newTime = System.nanoTime(); double delta = newTime - oldTime; double FPS = 1 / (delta * 1000); FPSOldTime = newTime; return FPS; } 等。任何帮助将不胜感激!谢谢!

编辑1

这是我的FPS代码:

{{1}}

1 个答案:

答案 0 :(得分:0)

我在C ++中实现了类似的东西。我想它也应该在Java中工作。函数的第一行必须使用Java时间方法。

double get_fps(double old_time) {
// Something like that in java  double new_time = System.getTime().nanoseconds();
    double delta = new_time - old_time;
    double fps = 1 / (delta * 1000);
    old_time = new_time;
    return fps;
};

使用以下内容格式化double:%2.0f

PS。 (在你的游戏循环中运行它,旧的时间必须在游戏循环之前初始化。你将通过引用更改它。)