大佬们,我在开发中遇到一个问题,当我在一秒钟使用几百上千个tween函数的时候,发现游戏运行就会很卡,一共有三个tween动作,然后有几百个物体每秒都会重复执行这三个tween动作几次,然后就会卡,不知道该怎么优化?
-
Creator 版本:
-
目标平台: <!-- / iOS / Android / 模拟器 / 小游戏开发工具?小游戏真机?
大佬们,我在开发中遇到一个问题,当我在一秒钟使用几百上千个tween函数的时候,发现游戏运行就会很卡,一共有三个tween动作,然后有几百个物体每秒都会重复执行这三个tween动作几次,然后就会卡,不知道该怎么优化?
Creator 版本:
目标平台: <!-- / iOS / Android / 模拟器 / 小游戏开发工具?小游戏真机?
你应该优先吧这个需求优化掉。
… 尽量操作父节点运动试试
确定瓶颈在这吗?
比较好奇什么样的情况是需要一秒钟成百上千个 tween 动画,可以说一下?
换个思路, 三个tween里面无限循环执行这些动作看行不行
具体的使用场景是什么样子的
我也好奇,这是个什么需求,什么场景出现的?
用update计算
是的,把这几个运动屏蔽掉之后就会好很多
大概就是很多弹球和其它物体碰撞之后会有一种Q弹的形变效果,弹球会形变,其它东西也形变,这个形变都是用tween来实现的
在下面描述了一下
那就不用tween,做成动画
一秒几千个tween,你在搞笑吧。 
即便是改为 update 也无济于事.要嘛改需求,要嘛改为 动画.动画的话 序列帧比较合适一些,但是这样 动画效果就不够灵活了,有没有其他大神有更好的方案.还有一种可能是shader,但是这东西 估计要达到效果也会卡顿.几百个应该问题不大,上千这个dc无论如何都不会好看,坐等大神出方案.
可以考虑用worker处理。 
cocos怎么worker?哪个worker文件放在哪里呀?能直接在worker线程操作节点吗?
按理说几百个应该不至于,你尝试自己模拟tween呢?比如碰撞开始的时候记录一个时间,在碰撞过程中根据当前时间对物体进行不同程度的缩放?看看是否会卡呢
这个楼主后面采用对象池复用 Tween + 限制触发频率这个方法优化了一下,现在这个问题解决了,感谢各位的回复