当前位置:  开发笔记 > 编程语言 > 正文

如何在Java中以60 fps限制帧速率?

如何解决《如何在Java中以60fps限制帧速率?》经验,为你挑选了3个好方法。

我正在写一个简单的游戏,我想以60 fps的速度限制我的帧速率,而不是让循环吃掉我的cpu.我该怎么做?



1> cherouvim..:

你可以阅读游戏循环文章.在尝试实现任何内容之前,首先要了解游戏循环的不同方法非常重要.



2> Parth Mehrot..:

我拿了@cherouvim发布的游戏循环文章,我采取了"最佳"策略并尝试为java Runnable重写它,似乎对我有用

double interpolation = 0;
final int TICKS_PER_SECOND = 25;
final int SKIP_TICKS = 1000 / TICKS_PER_SECOND;
final int MAX_FRAMESKIP = 5;

@Override
public void run() {
    double next_game_tick = System.currentTimeMillis();
    int loops;

    while (true) {
        loops = 0;
        while (System.currentTimeMillis() > next_game_tick
                && loops < MAX_FRAMESKIP) {

            update_game();

            next_game_tick += SKIP_TICKS;
            loops++;
        }

        interpolation = (System.currentTimeMillis() + SKIP_TICKS - next_game_tick
                / (double) SKIP_TICKS);
        display_game(interpolation);
    }
}



3> Lawrence Dol..:

简单的答案是将java.util.Timer设置为每17毫秒触发一次,并在计时器事件中完成工作.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有