如何制作一个分别处理fps和更新的游戏时钟?

时间:2015-06-07 16:46:03

标签: java

目前我有一个抽象的GameClock类,它实现了runnable并调用了一个update方法,该方法使用定义的nano秒延迟来处理fps和更新。这是循环:

@Override
public void run() {
    launch();
    long nanoPrevious = System.nanoTime();
    long nanoCurrent, nanoElapsed = 0;

    while (running) {
        nanoCurrent = System.nanoTime();
        nanoElapsed += (nanoCurrent - nanoPrevious);
        nanoPrevious = nanoCurrent;

        while (nanoElapsed >= nanoSPU) {
            update(); updates++;
            nanoElapsed -= nanoSPU;
        }
    } finish();
}

我想知道这种方法是否有效滞后,以及我可以改进的方法,但最重要的是它如何分别处理fps和更新,以及如何在用户内部更改fps限制游戏的最小延迟类似于我的世界,你可以改变你的fps上限或将其设置为无限制。

0 个答案:

没有答案