最近某个系统重新包装,把对应模型全部换了,之后发现某几个模型在切换页签的时候会卡1-2秒才出来,根据反馈我开始去查怎么回事。
1.首先排除代码问题,因为只是重新包装,代码没改。
2.接着用unity的profile和framedebug来看,通过profile发现主要是cpu耗时较长,其中rendering是耗时最长的,证实了跟代码无关,不是因为GC或者频繁创建东西导致的。
3.然后想到的是不是贴图drawcall,三角形面数,顶点数有问题,通过static查看发现跟没问题的模型没有太大区别。
4.这时只能对比有问题的模型和没问题的模型了,通过对比发现有问题的模型都有两个类似的粒子特效,那估计跟这两个粒子特效有关,我屏蔽后进去游戏果然不卡了,再通过轮流屏蔽定位到了具体的粒子特效,但是还是不知道具体什么原因导致了该特效卡顿。
5.接着直接找来美术看看这个特效有没什么没按规范设置的地方,特效贴图有没什么问题,通过对比参数发现,有问题的特效的startLiftTime设置得特别大,而且都勾选了prewarm这个选项。
6.问题到这里就找到了,因为勾选prewarm后载入这个特效了时会先初始化让这个特效看起来像已经播了一个周期,可以理解为类似预加载吧,去掉之后就解决了。
简单记录一下,因为稍微涨了点姿势,以前不知道这样设置粒子效果也会导致卡顿。
粒子特效卡顿问题记录
最新推荐文章于 2025-03-05 22:06:55 发布