微信小游戏-Android端 cc.instantiate 非常耗时,2.0.9版本

不知道是bug,还是说这个有什么方案可以优化的。
页面基本上都是用prefab做动态的,因为这个问题,切换显示别的页面会卡顿很长时间,体验很差

代码 视频证明

instantiate耗时视频.zip (1.3 MB)

浏览器

Android微信小程序

代码

试试用对象池?cc.NodePool

顺便求问官方可不可以给cc.NodePool加个只清理指定数量的池中对象的方法?如果实际数量没有那么多就全清空这样

微信小游戏平台不支持JIT,也不支持像eval这些动态执行代码的api,所以prefab的优化策略在微信小游戏平台上无效。因此会比H5,web以及原生都差很多。

对象池是有用到的,只是首次加载的时候没有用。
还有一个比如失败页面,设置页面等等,这些也是用prefab做的,就相当于初始化的时候要把这些页面都先实例化好。

这样就麻烦了很多了,整个框架也要改动。
2.0.7的版本一直都是这样,没有什么问题

不一定是prefab的优化策略无效问题,应该游戏的各种弹窗也是用prefab做的,会明显卡很多。
而且在IOS的微信小程序上是不会有这种问题的。
自从微信7.0.3以后,就有这些问题了,这些是我总结的线索

关于优化,还有很多地方需要你自己来解决,甚至于改引擎。我单单优化就做了好几个月了

总结起来就是位置移动和instantitate预制体的时候卡爆

正常,初始化对象这里本来就比较耗时,你要么就优化UI,单个UI包含的节点不要太多,分模块加载初始化