ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Unity UGUI源码深度解析】04|CanvasUpdateRegistry源码解析:一帧中的布局、裁剪与图形重建如何调度

【Unity UGUI源码深度解析】04|CanvasUpdateRegistry源码解析:一帧中的布局、裁剪与图形重建如何调度 《UGUI源码深度解析》第 4 篇 · 界面小组工作日志基准:Unity 2022.3.62f2c1 / 本地 UGUI 1.0.0。人物与项目情节为虚构;源码机制以本地实现为准。一、三个人同时改背包,谁先干活?装备名变长,详情面板需要长高;面板长高,遮罩范围又跟着变化;最后,文字和背景才知道该准备什么网格。阿澈问:“如果先画了,再排版,岂不是白忙一遍?”这正是 CanvasUpdateRegistry 值得单独读一篇的原因。它不负责计算每个字的位置,却决定什么工作先发生。上一回的 Dirty,只是把需求交给了这个调度者。构造函数把 PerformUpdate 挂到 Canvas.willRenderCanvases。这里应理解为渲染前更新入口,而不是死记“每帧严格执行一次”。主动刷新 Canvas 等操作会影响调用时机,查问题时必须结合栈和帧号。二、不是一个大队列轮流抽签注册表持有布局队列和图形队列,元素通过 ICanvasElement 暴露 Rebuild、完成通知与销毁检查。布局队列还会先排序:比较 Transform 的父节点数量,让浅层根节点排在深层之前。“这就等于布局从父到子了?”还不能这样概括。这里只是不同队列元素之间的排序。单个 Lay
返回列表