相关疑难解决方法(0)

帧长16.66ms.睡眠时(如果只是整整几毫秒),你如何获得完美的60 fps?

我喜欢用C++和Java制作小游戏,但有些东西一直困扰着我,而且我从未完全理解如何补救它.

在C++和Java中休眠只能在几毫秒内完成.意思是,如果你这样做

startTime=clock();
-------Execute everything in that frame-----
endTime=clock(); 
sleep(x-(endTime-startTime));
Run Code Online (Sandbox Code Playgroud)

如果x为16,如果x为17,则每秒得到62.5帧,每秒得到58.8帧

这两者都不适合显示器的刷新率.

但是我注意到像Warframe这样的游戏会说"16.66 ms帧时间"意味着他们的引擎能以某种方式更精确地睡觉.

那你怎么得到完美的60?

最好是在C++中,因为我正在使用它,但是回答Java也会有所帮助

c++ java sleep frame-rate

1
推荐指数
1
解决办法
1959
查看次数

标签 统计

c++ ×1

frame-rate ×1

java ×1

sleep ×1