📜 Unity UI 系列第七章:ScrollRect 列表与虚拟滚动优化

💡 列表优化的核心

  • 大量列表项如何优化性能?
  • 虚拟滚动的实现原理是什么?
  • 对象池在列表中如何应用?
  • 如何实现高性能的无限滚动?

系列第七章,深入讲解 ScrollRect 列表与虚拟滚动优化!

合批规则合批三元素

  • 重叠,需要程序员手动去处理,尽量不重叠,如果有重叠,尽量将形同层次的组件都重叠上去.

  • material.id shader尽量保持一致,material 尽量保持一致,不一致尽量将其放在一个单独的层次,减少动态切换 material,新建material ,复合 material ,material 里面的图片尽量不要大于 3 张.

  • texture.id 图集处理,RawImage 使用的图片与图集使用的图片是无法合批的,可以动态使用图集,增大内存,减少 CPU 压力

  • 工具已在项目中提供

重叠

  • https://www.cnblogs.com/Fflyqaq/p/13396834.html

  • 2 个 button 交叉重叠,造成 4 个 dc,原因是 2 种材质交叉重叠了.

  • 要牢记重叠导致打断合批的原因是材质重叠,不是指 UI 框重叠,是渲染状态被打断了.

使用线框模式查看,要查看一个线框是否与另外一个线框相交,相交的线框如果材质不同,则产生打断合批的情况
相交的线框如果材质相同,并且中间没有其他的材质,则不会打断合批.

  • 单个图片没有参与图集中,就是一个 DC,就是相当于一种类型的材质了

  • 一种字体就是一种材质,相同字体可以被合批.

      转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1487842110@qq.com