【实用系列】2.x 循环列表+分层渲染实现。解决多个item drawcall高的问题

item节点结构在同一层,只要符合合批条件的都能合批。用mask是直接报错的,具体原因还没探究,等空了再处理这个问题 :rofl:

666,mark,学习下

测试发现在浏览器上是可以的,但是上了微信小游戏测试进度条会渲染不出来,同时按钮点击缩放的时候图片会消失,缩放结束才会变回来。

引擎版本2.4.11

请问你这进度条上是用了mask组件吗,层级渲染组件子节点里目前不能有mask组件。

没有mask组件,昨晚又看了下,表现为打开界面显示正常,滑动后或者修改透明度后就不显示了,怀疑跟_opacity和_worldTransform重写有关系,浏览器是没问题的,微信小游戏不行

好的,微信小游戏用不了就先禁用吧 :joy:,晚点我在微信小游戏复现下看看咋回事。

加了点备注

4赞

大佬 msk的问题好了之后麻烦告诉小弟一声 :joy:

点赞 :+1:~其实我也想标出注释的,但发现内容好像有点多,没时间写完,就没写了 :rofl:

最近新项目缠身,抽不了空~处理了就告诉你哈

3.X不搞个

我这在scrollItem上加了个ProgressBar,提交到微信小游戏上跑,没有问题啊,而且点击编号为6的item,放大缩小也没问题,你这方便给个小demo跑吗

3.x我记得论坛上有了 :rofl:

看了下引擎代码,mask组件进入渲染流后,遇到孩子节点,会进入孩子渲染流,等孩子节点都进入渲染处理后,mask组件才进入渲染流postRender阶段,这个是渲染后做一些处理的阶段。例如孩子渲染后,然后postRender会根据孩子内容,遮罩出内容,也就是说,要按照树形结构深度渲染,才有效果,层级渲染是不行的,也就是说,还是无法在层级渲染节点下使用mask,除非记录mask组件包含哪些子节点,然后记录子节点完成渲染后,进入mask组件的postRender,这个改动量有点大 :rofl:

1赞

嗯嗯,我用新项目试确实微信也可以,可能跟老项目是多个摄像机渲染有关系,ui有个单独的相机渲染,且cullingMask不是default

3.x版本搞好了,请查收

666 :+1:

3.x 2.x都被你搞了个哈哈哈。

左手一个2.x,右手一个3.x,感觉自己要上天 :laughing: