Mar*_*aux 10 c++ java algorithm frame-rate
我正在写一个游戏,我看到FPS算法不能正常工作(当他需要计算更多时,他睡得更久......)所以,问题很简单:如何计算睡眠时间以获得正确的FPS ?
我知道在一微秒内更新游戏需要多长时间,当然还有我希望达到的FPS.
我正在疯狂寻找一个简单的例子,但我找不到一个......
代码可能是Java,C++或伪....
aio*_*obe 14
你应该花费在渲染一帧上的时间是1/FPS
几秒钟(如果你的目标是10 FPS,你应该在每帧上花费1/10 = 0.1秒).因此,如果X
渲染需要几秒钟,您应该"休眠" 1/FPS - X
几秒钟.
将其转换为例如毫秒,你得到
ms_to_sleep = 1000 / FPS - elapsed_ms;
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因需要花费更多时间1/FPS
来渲染帧,那么你将获得负的睡眠时间,在这种情况下你显然只是跳过睡眠.
JSB*_*ոգչ 13
每帧的微秒数是1000000 / frames_per_second
.如果你知道你已经花了elapsed_microseconds
计算,那么你需要睡觉的时间是:
(1000000 / frames_per_second) - elapsed_microseconds
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9971 次 |
最近记录: |