【muzzik教程】50行代码,教你优化列表draw call!【网格、横、纵 全包揽】

还可以优化一下,这部分可以放到循环前

let rect1_o = this._get_bounding_box_to_world(this.node.scroll_view.content.parent);
rect1_o.width += rect1_o.width * 0.5;
rect1_o.height += rect1_o.height * 0.5;
rect1_o.x -= rect1_o.width * 0.25;
rect1_o.y -= rect1_o.height * 0.25;

1赞

3.6.x 好像失效了,Opacity 属性对drawcall 无效了???

+1十分认同

看你的逻辑,我在你的基础上 做了另外一个操作,透明度设置这个是一个操作 ,等于将屏幕外部的node 隐藏, 在这个基础 可以对 listview 上面的item 进行 二次拆分, 比如 你的item 上面分别对应的是
【文本1 头像1 文本2】【文本1 头像1 文本2】【文本1 头像1 文本2】【文本1 头像1 文本2】
通过改变渲染顺序,变成 所有文本1 统一渲染 ,然后统一 头像1,然后再文本2 ,最终所有的文本1 drawcall 是 1 所有的文本2 drawcall 也是1 ,头像的话 如果是同一个图集,那么也是1,最终就是3
如果头像属于不同的图,那么就是2+ 头像资源数量
考虑到mask + 2