标签:Slate
-
Slate 渲染:FSlateDrawElement 如何合并成 Draw Call
UI 的 draw call 数不是 widget 数:讲清 DrawElement 到 RenderBatch 的合并规则,以及纹理图集在其中的决定性作用。
-
UMG 编译:WidgetBlueprint 到 UWidgetTree 的生成过程
Designer 面板拖出来的控件在编译期变成什么:UWidgetBlueprintGeneratedClass 的结构、绑定信息的固化,以及运行时从 UWidget 树到 Slate 树的重建。
-
Slate 架构:SWidget 的 Invalidate 与 Paint 模型
Slate 是"保留的 widget 树 + 每帧重算"的混合模型:讲清 Invalidate 标志、Prepass 布局、Paint 遍历各自的责任边界,以及缓存为什么需要 volatility 概念。
-
UMG 属性绑定:每帧求值的隐形成本
Designer 里的绑定下拉本质是一条每帧执行的蓝图委托:拆开 FDelegateRuntimeBinding 的求值链,给出"什么时候该用、什么时候必须手动"的判据。
-
字体与文本整形:FSlateFontCache 与 HarfBuzz 的协作
一段中文从字符串到屏幕要过五道工序:分词成 run、HarfBuzz 整形、换行、字形光栅化、图集缓存——每一步都有可以量化的成本和一个经典坑。