UGUI学习—优化篇小知识点

本文围绕Unity开发展开,介绍了UI合批相关知识,包括减少CPU与GPU交互次数、合批规则、过程及打断合批的情况,还提及Mask合批、动态图片处理、UI显隐等。同时阐述了图集的创建、打包注意事项,以及不同平台图片压缩模式、image和sprite区别、图片参数设置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.合批:减少cpu与gpu的交互次数
0.5batches每产生一个draw call就会生成发一个batches,里边存有网格和顶点数据,渲染相同物体时,直接调用batches里的信息。
1.每个ui物体都继承了基类graphic,canvas通过canvas render来获取其中的数据信息。
2.该物体被标记为脏标记会进行重绘。
3.重绘流程,image举例子,首先改变颜色,然后这个物体会被设置成脏标记,然后加入重建队列,canvas 每帧都会执行will render canvas,然后perform Update,然后canvas下的所有元素都会进行重绘。
4.合批规则 深度depth,材质material,render order ,texture id.
5.看后渲染的的能不能合批,如果能深度值相等,不能,深度值加1.
6.合批过程,遍历ui—>根据合批规则排序—>放到list中—>放到程序中,判断能否合批—>给批号。
7.mask在设置缓存会产生一个drayewcall,还原缓存会产生一个drawcall。
8.Mask子物体满足条件可以合批,Mask相互之间满足条件可以合批(子物体这时也能够合批)
9.Canvas下动态的图片可以给他添加一个canvas,减少重绘。
10.ui的显隐 用canvasrender里的cull组件,或是用canvasgroup
11.text不要开启自适应bestfit
12.打断合批 xy相同 z 不同, 旋转角度不同
13图集意义,同一个图集里的textureId相同,更容易实现合批
14.旧图集:windows->sprite 2D 通过设置tag
新图集:直接创建Sprite Altas 有两个模式 一个是master,一个是variant同常这两个模式是用来制做分辨率适配。
这两个图集在editor中打开。
15.打包图集注意图集分类明确。
16.unity会将png(无损压缩有透明) 和 jpg(有损压缩无透明)的图片转为 纹理格式这样可以被gpu识别
17.安卓平台的图片压缩模式
无透明通道 RGB ETC
有透明通道 RGB ETC2 这两个都是二次压缩。
单纯的 RGB质量高
18.iso PVRTC 图片较差 ASTC较好
19.图片和透明通道分离为了减少资源。
20.image 和sprite的区别
前者网格时矩形的,顶点信息少,但是overDraw多
后者网格自动构造的,顶点多,overdraw少 顶点多增加cpu消耗,overDraw多增加gpu消耗。
21.图片的参数 Read Write Enable 控制文件是否可读写
Generate mip Maps 打包图片边糊 尽量这两个别用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值