返回「计算机、信息技术与工程」
UGUI 动态加载Item DrawCall问题
本文目录 3 个章节
UGUI 动态加载Item DrawCall问题
note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。
问题

关于动态加载Item,这样是不是算是穿插了,如果有大量的Item那得多少DrawCall,我感觉我走入了误区,求大佬解答下,怎么学习这方面,好迷糊,还是说实际工作中,都不去管这种?
- 提问者:甲乙丙是新手
- 提问时间:2021-05-11 05:29:20
我的回答
共享相同材质的网格,满足其他合批条件,以相邻顺序渲染即可合批,减少Drawcall。所以合批的关键,在于对使用相同材质的物体,控制渲染顺序。
合批条件和优化方案有以下资料:
https://blog.uwa4d.com/archives/optimzation_cpu.html
https://docs.unity3d.com/Manual/DrawCallBatching.html
Unity中影响渲染顺序的因素:https://zhuanlan.zhihu.com/p/55762351
不同的资源控制渲染顺序的方式不同,如MeshRenderer,可以设置材质的RenderQueue;ParticleSystem可以设置Order In Layer和Sorting Layer等。
UGUI元素的渲染顺序是UGUI这个插件本身决定的,我们要做的是理解UGUI对元素渲染的排序方式,尽可能使相同材质的UI元素以相邻顺序渲染。具体的关键点譬如:避免同一层的UI元素互相重叠,UGUI是一层一层绘制的,保证相同材质的UI作为同一层来绘制。如题主项目中的Img都放在同一层,Txt都放在第二层。如果两个Img发生叠层,就会有一个Img是作为第二层来绘制的,导致Txt的绘制与Img的绘制互相穿插,就会增加DrawCall
- 回答时间:2021-05-11 06:31:19
- 最后更新:2021-05-11 18:20:05
- 采纳状态:未采纳
来源与关系
- 上位集合:我的 UWA 问答
- UWA 标签:UGUI、渲染模块
- 原始问题:UGUI 动态加载Item DrawCall问题
- 源页最后更新:2021-05-11 06:31:19