Version: 6000.3
语言: 中文
运行时 UI 的性能注意事项
控制动态图集的纹理

在运行时优化移动元素的性能

当您在运行时移动大量元素时,性能优化至关重要,特别是对于需要流畅且响应迅速的交互的应用程序。

某些 CSS 属性(例如 top、left、width、height 或 flex)可以在更新时触发布局重新计算。这些重新计算会弄脏布局,并可能跨多个元素级联更新,从而显着影响渲染性能。谨慎使用这些属性,并且仅在绝对必要时使用。

移动元素的最佳实践

移动元素最高效的方法是使用style.translate财产。此属性动态调整元素的位置,而无需重新计算布局。与其他定位方法不同,style.translate在转换阶段运行。它通过减少对 CPU 密集型进程的依赖来最大限度地减少计算开销并提高渲染性能。

使用使用提示减少绘制调用和几何重新生成

为了进一步提高性能,请利用使用提示来优化运行时元素的处理方式。使用提示有助于:

  • 减少绘制调用。
  • 避免不必要的几何重新生成。

如果元素的转换(如位置、旋转或缩放)频繁更改,请将用法提示设置为DynamicTransform.这会将转换更新直接推送到 GPU,绕过 CPUmeshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表
更新并提高性能。

你可以在UI Builder、UXML或C#中设置使用提示。以下示例将用法提示设置为DynamicTransform:

UXML的:

<ui:VisualElement usage-hints="DynamicTransform" />

C#

visualElement.usageHints = UsageHints.DynamicTransform;

支持的使用提示包括:

更新和呈现视觉元素的流程

下图说明了更新和呈现视觉元素实例化或派生自 C# 的可视化树的节点VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
请参阅术语表
运行时:

更新和呈现视觉元素的流程
更新和呈现视觉元素的流程

有关在运行时为频繁更改的元素优化渲染和更新的示例,请参阅在运行时移动元素

其他资源

运行时 UI 的性能注意事项
控制动态图集的纹理