首页 > 第14课

第14课

互联网 2021-04-20 16:01:42
这是我们真正进行帧率限制的地方。

当我们启动一帧时,我们启动了一个计时器来跟踪输出这一帧总共花了多长时间。为了防止这个程序跑得过快,每一帧必须停留一段时间。如果设定了20帧每秒的帧率,那么每一帧必须持续不少于1/20秒的时间。如果帧率被设为60FPS,那么每一帧必须持续不少于1/60秒的时间。由于这个演示程序在20FPS的设定下运行,这意味着我们应该让每一帧持续50毫秒(1000毫秒 / 20帧)。

为了调节帧率,首先我们要检查一下帧计时器的时间是否少于每一帧允许的最小时长。如果比限制时间还长,说明我们要么是准时,要么已经超过了预定时间,所以我们不必去等待。但如果比限制时间短,那么我们就得使用SDL_Delay()来休眠一段时间,时长就是这一帧的剩余时间。

所以,在这个程序里,如果此时帧计时器时间为20ms,那么我们就得休眠30ms。如果此时帧计时器时间为40ms,那么我们就得休眠10ms,等等。

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。