如题,cocos2dx如何修改fps?我尝试修改代码 director->setAnimationInterval(1.0 / 60);将60 改成40,45…运行程序,依然是60fps,唯独修改成30的时候,fps变成了30.这是为什么?
自己顶一下
阿,我竟然还没注意过这个问题,我只改过30的情况。
为什么要改fps?它这个只是个参考,你计算的东西多,fps肯定是要往下掉的。所以,fps本身就不是固定的。如果你是想固定时间频率执行,那么你要确保你的程序耗时不能大过固定频率,然后就用个定时器好了。
我想降低下刷新率,因为游戏运行容易发热,分析不出什么原因,所以想试试调整fps能不能缓解状况。试了之后只有调30才有效果,但是30对我游戏来说太低了。
楼主我这调成45帧也可以啊
— Begin quote from ____
引用第4楼卡卡马桶于2015-07-20 14:44发表的 :
楼主我这调成45帧也可以啊 http://www.cocoachina.com/bbs/job.php?action=topost&tid=312427&pid=1350800
— End quote
如果你没修改过引擎,肯定是不可能的,请看CCDirectorCaller
此类:
-(void) setAnimationInterval:(double)intervalNew
{
// CCDirector::setAnimationInterval() is called, we should invalidate it first
;
displayLink = nil;
self.interval = 60.0 * intervalNew;
displayLink = ;
;
forMode:NSDefaultRunLoopMode];
}
@property (readwrite) int interval;
double传入的参数,却使用的是int类型的接受,导致运算后小数位被舍弃,所以40,45真的运算结果和60帧是一样的,所以只有60能整除的设置才是有效的。
改成30帧吧