游戏引擎分析:FPS(Frame Per Second)

最近研究了下FPS(Frame Per Second。不是是射击游戏!!!)。总结了两个限制fps的方法。

这里假定fps=60 1/fps = 15ms

部分代码如下

</pre>1.每次都执行画面渲染,游戏逻辑分析,当全部执行完毕后检测花费时间是否大于15ms,小于则delay。大于则跳过<p></p><p>部分代码</p><p><pre name="code" class="cpp">while(Director::getInstance()->isRunning())
{
   //执行画面渲染和逻辑判断
   Director::getInstance()->update();
   if(getCurrentRunTime() - startTime < 15)
   delay(getCurrentRunTime()-startTime);
   startTime = getCurrentRunTime();
}
2.计算好下次循环时间,如果小于则跳过,如果大于等于后渲染。

while(Director::getInstance()->isRunning())
{
   if(getCurrentTime() > nextTime)
   {
     nextTime = getCurrentTime() + 15;
     Director::update();
   }
}
总感觉这两个很像,要说不一样的地方就是一个用了delay()。另一个没用罢了。硬要说哪个好。这我倒是不知道。两个的含义都是一样的。我这里倒是强行分开。。。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值