java游戏开发:如何限制FPS?
我正在写一个游戏,我看到FPS算法不能正确工作(当他必须计算更多的时候,他会睡得更长…)所以,问题很简单:如何计算睡眠时间以获得正确的FPS
我知道在微秒内更新游戏一帧需要多长时间,当然还有我想要达到的FPS
我正在疯狂地寻找一个简单的例子,但我找不到一个
<代码>可以是爪哇、C++或伪…p>你可以在下面搜索框中键入要查询的问题!
我正在写一个游戏,我看到FPS算法不能正确工作(当他必须计算更多的时候,他会睡得更长…)所以,问题很简单:如何计算睡眠时间以获得正确的FPS
我知道在微秒内更新游戏一帧需要多长时间,当然还有我想要达到的FPS
我正在疯狂地寻找一个简单的例子,但我找不到一个
<代码>可以是爪哇、C++或伪…p>
# 1 楼答案
试试看
。。。根据http://www.gamedev.net/community/forums/topic.asp?topic_id=510019
# 2 楼答案
渲染一帧所需的时间为
1/FPS
秒(如果目标为10 FPS,则应在每帧上花费1/10=0.1秒)。因此,如果渲染时间为X
秒,则应“睡眠”时间为1/FPS - X
秒将其转换为例如毫秒,您将得到
如果出于某种原因,渲染帧的时间超过了
1/FPS
,那么您将得到一个负的睡眠时间,在这种情况下,您显然只是跳过了睡眠时间# 3 楼答案
每帧的微秒数为
1000000 / frames_per_second
。如果你知道你花了elapsed_microseconds
计算,那么你需要睡眠的时间是:# 4 楼答案
看看this关于不同FPS处理方法的文章