C++ 设置帧速率?这是个好主意吗?
可能重复:C++ 设置帧速率?这是个好主意吗?,c++,frame,rate,C++,Frame,Rate,可能重复: 说到编程,我是个业余爱好者,但我想问问这是否是一种有效的处理方式 现在,我的程序每一步都会自动更新,但我希望将程序分成更小的帧速率。我现在的想法是在主屏幕上设置一个时钟,在主屏幕上每隔30次左右(例如),游戏就会自动更新。但是,我希望在该时段内(例如,每10秒)分别更新程序的不同部分,并在该时段结束时更新屏幕。我认为这将有助于减轻一些“压力”(假设有压力)。我不会那样做。它会更好/更容易/更干净,尤其是在开始时,尽可能经常地更新游戏/屏幕(例如,将其放入while(true)循环中
说到编程,我是个业余爱好者,但我想问问这是否是一种有效的处理方式
现在,我的程序每一步都会自动更新,但我希望将程序分成更小的帧速率。我现在的想法是在主屏幕上设置一个时钟,在主屏幕上每隔30次左右(例如),游戏就会自动更新。但是,我希望在该时段内(例如,每10秒)分别更新程序的不同部分,并在该时段结束时更新屏幕。我认为这将有助于减轻一些“压力”(假设有压力)。我不会那样做。它会更好/更容易/更干净,尤其是在开始时,尽可能经常地更新游戏/屏幕(例如,将其放入while(true)循环中)。然后在每次迭代中,计算出经过的时间并相应地使用它。(例如,每隔20毫秒移动一个对象1个像素)或其他
这是一个更好的起点,因为你将很难保证准确的30fps,游戏将表现得很奇怪(例如,如果一台速度慢的计算机只能拉15fps,你不希望对象速度提高一倍),更不用说漂移/单个慢帧等了。你说的“每30次”是什么意思?什么的滴答声?我只是指程序运行时的步骤。但我只是在改变主更新循环。因为我的整个程序都围绕着这个循环,简单地声明系统应该每20毫秒更新一次是很容易的。但我会更进一步。我想在这20毫秒内更新系统的一个子集,然后在最后更新屏幕。你可能想得太多了。特别是开始的时候,做最简单的事情。e、 g.将物理与更新框架放在同一个循环中。唯一不好的一面是,您可能处于一个消耗cpu的紧循环中。我的程序将非常庞大,因此我认为这种预先考虑是必要的。我已经将代码的各个部分分成了不同的组,每个步骤都会立即更新。那么问题出在哪里呢?在每个步骤中,调用每个不同的“组”。我做过这类事情就是想知道,要想知道什么是有效的,唯一的办法就是通过经验。完全搞砸了,不得不从中重构废物并不是一件坏事,这是获得经验的重要部分。