Wil*_*iam 14 java cpu frame-rate
我正在写一个简单的游戏,我想以60 fps的速度限制我的帧速率,而不是让循环吃掉我的cpu.我该怎么做?
Par*_*tra 10
我拿了@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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49505 次 |
| 最近记录: |