关于Cocos2d-x中掉帧导致游戏一卡一卡的网上一些的解决方法

Posted 杭者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Cocos2d-x中掉帧导致游戏一卡一卡的网上一些的解决方法相关的知识,希望对你有一定的参考价值。

方法1

掉帧主要是setpostion引起的  
因为每一帧每一个精灵都要set一次
虽然不知道为什么会这样
但是
if(poX<1000&&pox>-100){
     xx->setpostion(poX);
}
加了个这样的条件减少set的次数就不卡了
(就是每次都调整Size[]保存的坐标,但只set符合要求的)

ps:测试过 总共有420+精灵
限制后大概只有10%的精灵每一帧要set;

但是我感觉 420+的精灵应该不至于让程序掉帧那么严重啊

 

方法2

要做递归动画最好是用CCMoveBy这个 可能比较好些 setpositon的话 是重新定位可能会导致 sprite的 位置变动卡 

 

方法3

也许是创建太多精灵或者加载太多图片,显示之后隐藏,没释放

 

方法4

update有个参数delta,
计算运动距离的时候考虑这个delta值(也就是时间差量)
通常都是      移动速度(像素/秒)×(delta)
理论上这样不会有问题,我都是这么处理的 

 

方法5

你确定你的update是每一帧调用的不是你自定义时间的? 

原来还可以自定义update调用间隔

 

方法6

写到定时器里而不是update里试试 

 

方法7

update函数有个参数 fDelta 
如果你想设置每秒横移X个像素 正确的写法应该是
sprite->setPositionX(X * fDelta);

以上是关于关于Cocos2d-x中掉帧导致游戏一卡一卡的网上一些的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

在3dmax软件中为啥拖动模型一卡一卡的

我的Android Studio 怎么打字都会一卡一卡的

WIndows Server 2008R2一卡一卡的

opencv将视频canny后显示播放一卡一卡的,是否需要的canny时间太长了,怎么解决

电脑鼠标总是突然卡顿

电脑鼠标卡顿怎么解决