我的scrollview有十几个tab,一个tab是下面的结构:
背景图->
图标->
名字Label->
数量Label->
打开时drawcall竟然高达上百
所以我想问几个问题:
1)数字Label是不是应该换成BMPfont
2)背景图和图标应不应该放到同一个atlas内
3)这样的结构有没有问题
4)1.0的drawcall优化规则在2.0是否还适用,就是在节点树内要把同一个atlas的sprite放一起
我的scrollview有十几个tab,一个tab是下面的结构:
背景图->
图标->
名字Label->
数量Label->
打开时drawcall竟然高达上百
所以我想问几个问题:
1)数字Label是不是应该换成BMPfont
2)背景图和图标应不应该放到同一个atlas内
3)这样的结构有没有问题
4)1.0的drawcall优化规则在2.0是否还适用,就是在节点树内要把同一个atlas的sprite放一起
这个的优化你应该目前已经使用了
官方的 Test Demo 里面有关于 Scroll View 优化的。
其实也就是之前的资源滑出可视区域以后,再把他放回到列表的最下面,更新 Tab 显示内容
背景图和图标尽量放在同一个 Atlas 里面
脚本优化可以参考编辑器范例工程中的listView场景范例
资源可以打包压缩
重复加载预制件 可以使用对象池 加上 选择预制件的优化策略为:”优化多次创建性能“
优化drawcall比较有效的是把content节点下面的子节点改为广度遍历,然后复用创建的节点
什么叫广度遍历?
这个优化的不敢恭维。
广度遍历?
1、背景图和图标打到一个图集中
2、数字可以考虑换成BMPfont,与背景图标放到一个图集里面
3、这样的节点结构如果完成了以上两步没有问题,但如果想要使用引擎的自动图集功能的话是不行的,因为label会打断自动图集的处理
4、1.0的dc优化策略在2.0部分适用,因为2.0的底层框架有变动,特别是在渲染上做了处理,因此才带来2.0性能上面的巨大提升