- 博客(9)
- 收藏
- 关注
转载 【转载】浅谈UGUI优化-网格合并
我们知道UGUI绘制UI的过程需要创建Mesh信息,例如一个Image元素在Simple模式下会创建四个顶点,如果我们有100个相同的这样的Image,UGUI底层(Native Code部分)会将这100个Image的Mesh信息合并成一个大的Mesh,用同一个DrawCall发送给CPU,这就是网格合并,是UGUI行之有效的降低DrawCall提高效率的方法。
2024-10-31 21:01:41
61
转载 【转载】浅谈UGUI优化-网格重建
上面我们说到每个UI元素会维护自己的Mesh信息,那么这个Mesh是每帧都会生成的吗,其实不是的,因为Mesh信息并不是一直会发生改变,每帧计算会浪费不必要的性能,UGUI的做法是在UI元素发生必须要重建Mesh的改变的时候才会去重建。这部分工作是在C#层去做的,由于UGUI的这部分代码是开源的,我们可以通过源码去大致了解这块逻辑。注意本文使用的测试环境、源码版本均为Unity 2020.3.25f1c1 个人版,不同版本可能会有表现上的不同。
2024-10-31 20:56:29
86
转载 [转载]浅谈UGUI优化-DrawCall篇
Unity要渲染一帧画面,需要经过两个阶段,CPU阶段和GPU阶段:CPU阶段Unity把渲染需要的数据准备好,GPU阶段通过渲染管线,利用这些数据渲染出画面。CPU把数据传递给GPU,通知GPU进行渲染的过程,就叫做DrawCall。
2024-10-31 14:16:28
119
原创 【自用】一些面试题合集
装箱和取消装https:箱的概念是类型系统 C# 统一视图的基础,其中任一类型的值都被视为一个对象。而readonly修饰的字段除了可以在声明的时候分配之外,还可以在包含实例字段声明的类的实例构造函数中,和在包含静态字段声明的类的静态构造函数中分配。因此readonly字段的跟据其所调用的不同的构造函数可能有不同的值。取消装箱是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换。下面的图表明了,num在装箱之后,即使对num重新赋值,o在拆箱的之后的值仍然不会改变。拆箱是一定是显式的。
2024-08-17 14:45:02
1222
1
原创 TCPPPL学习记录:类型
bool与int可以隐式转换定义:true对应1false对应0;非零整数对应true,0对应false在算术和逻辑表达式里,bool先转为int参与运算,再转为bool指针也可以隐式转换为bool,非零指针true,具有0值的指针为false。
2024-05-01 00:55:35
417
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人