请问各位大大,这种情况怎么降低draw call
一行是一个prfab 里面有label 可以想办法把数字改成图片
但是这种妮称有什么办法处理么
现在打开这个就是一百多draw call
低端机用户说打开这个有点卡,难受
1赞
还有这个头像也是在线加载的图片,有什么办法处理吗
1.复用item,可以参考 有个scrollview优化的帖子
2.将昵称提取出来,不要放在prefab里,拼接成一个高度很大的字符串,通过换行来隔离每个昵称,不过这种得让item的高度和label的文字高度成整数比例
3.数字可以用bmfont
4.还有就是drawcall的通用优化了,相同图集的尽量放在一起
所有Item初始化后 分到不同的层,类似下面这样
scrollview
|_view
| |_content
| |_content_default (初始化item放这里,label以下的同图集图片) dc = 1
| |_content_default (头像放这层) dc = 当前显示头像数量
| |_content_headbox (头像框放这层,label层级以上的图片) dc = 1
| |_content_label (所有label提出放这层) dc = 当前显示label数量
理想状态是 dc = 当前显示label数量 + 当前显示头像数量 + 2
当然,也可以用zIndex来分层
当然除了昵称外,其它的 字母、数字和符号 还是建议用位图字体,可以减少部分dc。
你的这个页面优化完估计就30dc不到
昵称不放在预制里, 单独拿出来统一放在一个节点下, 然后定位到对应位置, 其他尽量用图集, 位图字体
这样有点把结构搞乱,要删除一行还得到处找,滚动条滚动还要位置跟着跑,太累了吧
这种一个桌子10个头像,
一个界面大概可以显示6桌
在线头像,咋个弄啊,瞬间增加好多dc哦
不可以用固定的头像吗?就是一共就10几个头像让玩家选,这些放一个图集,你的头像走下载到游戏路径读取,是散图加载这么多就回增加call 数量
我倒是想啊,需求不给力啊
升级版本 动态合图 不纠结
二货,弄死
需求不给力,求解救
使用和上面相同的思路即可,不过头像你还是不要使用mask了,用shader处理吧(1个头像+1dc)。应该可以控制到3dc到60dc。
头像做缓存。prefab预加载, 列表元素不要那么多,必要的话分页加载




