Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 设置帧速率?这是个好主意吗?_C++_Frame_Rate - Fatal编程技术网

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的紧循环中。我的程序将非常庞大,因此我认为这种预先考虑是必要的。我已经将代码的各个部分分成了不同的组,每个步骤都会立即更新。那么问题出在哪里呢?在每个步骤中,调用每个不同的“组”。我做过这类事情就是想知道,要想知道什么是有效的,唯一的办法就是通过经验。完全搞砸了,不得不从中重构废物并不是一件坏事,这是获得经验的重要部分。