news 2026/6/19 0:01:45

1.19 UGUI的准备数据流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.19 UGUI的准备数据流程

1.UGUI准备数据的流程


a.PostLateUpdate.PlayerUpdateCanvases-作用:这是Unity在每帧的晚期更新(LateUpdate)之后,专门用于更新所有Canvas(UI画布)的系统函数;它负责驱动整个 UI渲染流程-详细流程:它会调用Canvas.SendWillRenderCanvases(),从而触发一系列UI更新操作,包括布局计算、网格重建、批处 理生成等 b.UGUI.Rendering.UpdateBatches-作用:更新渲染批处理,这是Unity UI系统进行批处理的关键步骤,将多个UI元素合并到一个Draw Call中,以减少渲染 开销 c.CanvasRenderer.SyncTransform-作用:同步CanvasRenderer的变换信息,当UI元素的位置、旋转或缩放发生变化时,需要将变换信息从Transform组件同步 到CanvasRenderer,以便正确渲染 d.Canvas.BuildBatch-作用:构建批处理,将需要渲染的UI元素按照材质、纹理等条件进行分组,生成一个或多个批处理(Batch),每个批处理对 应一个DrawCalle.Canvas.SendWillRenderCanvases()[invoke]-作用:触发WillRenderCanvases事件,这个事件会调用所有注册的CanvasUpdateRegistry中的元素,执行布局和重建 f.Render-作用:这是一个总的渲染阶段,可能包含了多个子步骤;在您提供的截图中,它下面包含了Layout(布局)相关的步骤 g.Layout(布局计算)-作用:计算UI元素的位置和大小,当UI元素发生变化(如文本改变、尺寸调整)时,需要重新计算布局 h.CanvasUpdate.Prelayout-作用:布局前的准备工作,在正式计算布局之前,可能需要更新一些数据或状态 i.CanvasUpdate.PostLayout-作用:布局后的处理工作;在布局计算完成后,可能需要更新一些依赖于布局结果的属性 j.CanvasUpdate.Layout-作用:执行布局计算。这是布局系统的核心,会根据UI元素的约束(如锚点、布局组)计算每个UI元素的最终位置和大小 k.CanvasRenderer.SyncWorldRect-作用:同步CanvasRenderer的世界空间矩形,这个矩形用于确定UI元素在屏幕上的裁剪区域 l.TransformChangeSystem-作用:变换更改系统。处理Transform组件的更改,并更新相关的渲染数据 m.CanvasRenderer.SyncClipRect-作用:同步CanvasRenderer的裁剪矩形;当使用Mask或RectMask2D等裁剪组件时,需要更新裁剪区域 m.Canvas.SendPreWillRenderCanvases()[invoke]-作用:触发PreWillRenderCanvases事件;这个事件在WillRenderCanvases之前被调用,用于执行一些前置操作
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 17:56:14

day33打卡

浙大疏锦行

作者头像 李华
网站建设 2026/6/15 13:17:42

RN性能优化实战:从卡顿到丝滑的进阶之路

RN性能优化实战:从卡顿到丝滑的进阶之路 在前一篇文章中,我们掌握了RN的跨端适配技巧,能够保证应用在多设备上的一致性显示。但实际开发中,随着应用功能增多,常会出现列表卡顿、页面加载缓慢、内存泄漏等性能问题&…

作者头像 李华
网站建设 2026/6/17 10:52:58

MyBatis-Plus代码生成器

MyBatis-Plus代码生成器 MyBatis-Plus代码生成器生成结果 MyBatis-Plus 代码生成器是 MP 提供的自动化代码生成工具,核心是基于数据库表结构,通过配置一键生成符合 MP 规范的全套分层代码(包含实体类、Mapper 接口、Mapper XML、Service 层、…

作者头像 李华
网站建设 2026/6/19 11:53:10

UI+Widget:鸿蒙/Flutter等声明式UI框架的核心设计范式深度解析

上一篇文章讲解了鸿蒙UI方向的flutter,本篇文章就解释一下flutter和ArkUI中都经常提到的UIWidget,以下是上一篇文章链接: https://blog.csdn.net/2501_93575716/article/details/155827679?spm1001.2014.3001.5501 “UIWidget”是现代声明式UI框架&…

作者头像 李华
网站建设 2026/6/19 7:42:49

仅半年,半月回本的幻梦破灭,机器人的泡沫破灭得如此之快!

机器人曾被视为高科技产品,今年的春晚让机器人大出风头,由此掀起了一股炒作机器人的风气,部分人意图借着机器人租赁这个新赛道发财致富,然而如今机器人租赁市场已经崩塌,每天租金2万仅是传说的故事,而现实中…

作者头像 李华
网站建设 2026/6/19 2:02:26

如何选择技术博客平台并搭建属于你的知识库

技术写作是程序员职业生涯中重要的一环。它不仅能帮助整理碎片化的知识,还能在求职或晋升时作为有力的能力证明。面对市面上众多的博客平台,开发者往往会陷入选择困难。选择的核心在于理清自己的需求:是为了获取社区的自然流量,还…

作者头像 李华