当前位置:   article > 正文

spine 卡顿优化_laya spine优化

laya spine优化

 一直没有机会实战用到spine,今年有个机会用到了,然后也产生许多问题,也困扰我很久,多个spine在项目里跑,掉帧会非常严重。当然这里面有着我们项目自己的诟病。

这里大致举例导致spine计算量上升的原因:1:骨骼数量多,2:用太多打断合批的操作(如:加上混合等),3:用了spine的顶点裁剪功能。

        骨骼数量多可以规范一下美术,这只能取个平衡,最好还是约束一下,不然美术可能给你来个天马行空。

        用太多打断合批的操作(如:加上混合等),这个重点是混合,有些动画会做个高亮什么的,这就打断了合批,咱不能说渲染时把这些混合挑出来,整合在一起做渲染把,不太现实。

        裁剪功能呢,最好就别用,个别全屏的spine倒是可以,消耗太大,用了就哭出声。

        这些解决了想用在游戏内部,还是计算量比较大,我开始想到的是既然你是骨骼动画,那肯定是通过矩阵计算,这样就可以丢矩阵去shader里计算,然后一看源代码,发现这个计算还与上个顶点有关,所以这个方案放弃。

        第二个方案,缓存动画咯,怎么缓存呢?那就一帧帧缓存,这样有个缺点,吃内存啊。效果呢比较好,iPhone se 上跑裸跑30个spine 都不怎么掉帧,当然发热还是继续发热,因为没解决spine打断合批的这种情况啊。超级难受,有好的思路,记得给我留言下,跪舔。

        下面简单贴一下核心代码吧,要解决的问题还是比较多的。比如缓存后事件怎么发送,怎么换肤。这些问题都是要解决的

保持30帧帧率

计算spine是否是最后一帧,然后标记它。然后就是取spine计算出的数据,绘制了,和官网给的例子差不多。

求大佬们留言,你们怎么做spine优化的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/94497
推荐阅读
相关标签
  

闽ICP备14008679号