我有一项任务是每秒执行一次给定的方法X次(例如每秒30次)。在该tick方法中,我应该显示当前速度(基本上显示FPS)。
我甚至不知道如何开始。尝试谷歌搜索,但没有真正的帮助。
答案 0 :(得分:1)
显示类似" fps":
public static void main(String[] args) {
while (true) callMethod();
}
private static long lastTime = System.currentTimeMillis();
public static void callMethod() {
long now = System.currentTimeMillis();
long last = lastTime;
lastTime = now;
double fps = 1000 / (double)(now - last);
System.out.println(fps);
}
您可能需要添加一些睡眠,因为否则两个步骤之间的差异太小,fps将是" Infinity"。
每秒30次的要求是完全不同的。正如我在评论中所说的那样,基本上与fps完全相反,因为每秒30次意味着正好是30 fps,这意味着不需要计算fps,因为这是原始要求。
进一步注意到"每秒30次"由于至少有两个原因,本身通常是一个不好的要求: