序列帧DRAW CALL高的问题

如下图的效果,格子中的几十个怪,都是一个动画WALK,每个WALK大概由10来张帧图组成,一运行就高达近2000的DRAW CALL,这个有优化的余地吗?还就是近2000这么高正常吗
image

PerfDog | 全平台性能测试分析专家

1、同样子问,做一个预制体里面包括8个左右Lable,然后加载七八十个然后draw call就上100多了,并且使用了TexturePacker合批还是差不多,并没有明显的减少。


2、还有一问题就是instantiate 这个函数为什么一次初始化80个就卡1.5s,也太奇怪了,内容也没有多少。这个问题是用对象池,但是一开始的时候就是比如要初始化80个都会卡住,在3.7.1上。


3、还有在官网的这个taxi 例子里,打包微信小程序,在iphone 8p是运行也是启动Logo过后一样卡顿黑屏1s以上。这个怎么解决呢。

设置一个loading读条

我觉得你可以试一下用这个,把每一种怪设置一个单独的OrderInLayer,理论上一个怪的序列能打进一张图集的话,应该只有怪物数量各dc

自己提的三个问题,自己来回答解决一下,希望可以帮到一些小伙伴。

第一个问题尝试了这个 但是drawCall并没有降低。然后就是TexturePacker合了一下图,暂时先这样子。

第二个问题解决方法是在进度加载的时候先去instantiate个八十个,然后在正式加载的时候,用对象池管理,然后暂时看起来没有什么问题了。


第三个问题刷到这个然后分析自己的,然后根据官网提供的思路解决了,目前挺丝滑的没有黑屏情况了。