共计 2015 个字符,预计需要花费 6 分钟才能阅读完成。
举荐:将 NSDT 场景编辑器退出你的 3D 工具链
3D 工具集:NSDT 简石数字孪生运行时
https://www.mvrlink.com/unity3d-performance-consideration-for…
UI 的性能注意事项本页介绍如何进步运行时的性能用户界面. 优化数据存储您能够应用 usageHints 来设置元素在运行时的应用形式,以便相应地优化数据存储。例如:visualElement.usageHints = UsageHints.DynamicTransform;
下表通过示例形容了要用于哪些元素的属性:具备以下元素应用这个例频繁更改其地位或转换 UsageHints.DynamicTransform 如果更改、或元素,请在该元素上设置 UsageHints.DynamicTransform。style.leftstyle.topstyle.position 许多常常更改地位或转换的子元素 DynamicTransformUsageHints.GroupTransform 在 ShaderGraph 中,每个节点都应用,在视图容器上设置 UsageHints.GroupTransform。DynamicTransform 正在设置动画的内置款式色彩 UsageHints.DynamicColor 如果更改元素的、或任何边框色彩(如),请在该元素上设置 UsageHints.DynamicColor。style.backgroundColorstyle.unityBackgroundImageTintColorstyle.borderLeftColor 思考设施性能一些安卓设施和 WebGL 无奈局部修补索引缓冲区。如果您的受众应用此类设施,或者如果您以 WebGL 为指标,UI 工具包出现依然无效,但性能可能会升高。为防止性能降落,请勿同时对太多元素进行动画解决,并在设施上进行配置文件。防止网格镶嵌构建的计算成本很高网孔曲面细分视觉元素. 每当元素的大小(宽度 / 高度)发生变化时,其几何图形都会从新构建,这可能是动画或频繁调整大小的问题。一般来说,变换和纹理在灵活性和重用方面并不是好的抉择。然而,在制作动画时,为了取得更好的性能,请执行以下操作:应用变换而不是宽度或其余布局属性应用纹理或 2D 精灵而不是圆角和边框管制动静图集的纹理要缩小因纹理更改而中断的批次数并实现良好的性能,请应用图集将同时应用的纹理组合在一起。您能够应用以下任一办法实现此目标:应用精灵图集. 应用此办法,您能够更好地管制精灵,但须要手动创立精灵图集。应用动静图集。UI 工具包会在视觉元素援用动静图集时主动向动静图集增加纹理或从中删除纹理。验证动态图集中的纹理应用动静图集将纹理组合在一起时,要限度绘制调用的次数,请确保纹理进入动静图集。若要验证,请应用帧调试器。帧调试器可帮忙您察看纹理更改并推断批量中断。以下示例验证动静图集是否蕴含运行时 UI 中的所有纹理。
示例动静图集窗口蕴含运行时 UI 中的所有纹理。利用内置筛选器动静图集纹理从指定的最小大小开始,并依据须要增长,程度或垂直加倍,直至指定的最大大小。您能够在面板设置资源中定义最小和最大图集大小。您还能够应用动态图集中的滤镜来决定是否向图集增加子纹理。要启用或禁用滤镜,请在面板设置资源的查看器窗口中,从动静图集设置 > 流动滤镜下拉列表中抉择选项。应用自定义筛选器您能够将自定义过滤器调配给 PanelSettings.dynamicAtlasSettings.customFilter 以在全局或每个纹理的根底上增加或放宽束缚。以下自定义筛选器示例绕过 Size 筛选器中的大纹理,同时使 Size 筛选器对其余纹理放弃活动状态:using UnityEngine;
using UnityEngine.UIElements;
class MyCustomFilter : MonoBehaviour
{
public PanelSettings panelSettings;
public Texture2D largeTexture;
void OnEnable() { panelSettings.dynamicAtlasSettings.customFilter = Filter;}
void OnDisable() { panelSettings.dynamicAtlasSettings.customFilter = null;}
bool Filter(Texture2D texture, ref DynamicAtlasFilters filtersToApply)
{if (texture == largeTexture)
{
// Disable the Size check for this one.
filtersToApply &= ~DynamicAtlasFilters.Size;
}
return true;
}
} 由 3D 建模学习工作室整顿翻译,转载请注明出处!