多节点移动卡顿现象求解决思路

我的项目当前画面中有几十个节点同时移动,我用了对象池方式,而且节点Sprite 上的图像非常小6060 的,且用了纹理合集,现在我不管在update(deltaTime: number) 方法中用速度时间移动,还是用tween 方法去移动节点,在电脑模拟运行没问题,但是手机模拟画面都会出现卡顿现象,请问哪位大佬有好的方法去解决这种问题吗,非常感谢!

如果是安卓的话会不会是出现报错日志打印了导致的卡顿 :smirk_cat:小游戏就不清楚

才十几个节点,在原生上就会出现卡顿吗?太假了吧。要不先不运动,看下帧率稳不稳定,再先只运动一个看帧率,再运动两个依次类推,慢慢排除法

是小游戏的,没有报错日志,就感觉很奇怪

不是十几个,大概有90个

左下角调试信息呢?看看卡点是啥

第一步先在vConsole看有没有报错,拨错会导致卡顿
第二步看有没有大量打印对象,如果需要打印对象,用json转成字符串打印
出现问题,先把帧率显示出来,一边看帧率一遍调试问题 :heart_eyes:

90个先创建好再移动还是动态创建的?

节点只是单个图片还是包含图片与文字混合,从描述来看有点像性能问题!电脑网页调试因为自动合图drawCall不高,打包出来后由于图片属于图集,文字是单独的合图,会导致drawcall很高!

创建好了再移动的,我先按你方式走走看

是单独的图片,但是挂载了物理

建议抽象出一个demo方便查找问题,或者注释法,比如先把物理关掉等,一步一步的排查

先按大家的说的一步一步试试,感谢大家建议

应该是物理的原因,没有物理几千个图片移动应该都不会卡

分帧移动试试,例如每帧只移动30个

我同屏几百个怪加技能都不卡

90 个的移动应该是不卡的,感觉是你的移动逻辑性能消耗太大

show code, 如果是大量刚体, 考虑简化碰撞形状(如圆/球), 或者考虑优化碰撞检测(曼哈顿, xx树)