在分析器中查找动画瓶颈

通过分析器,可以判断对场景求值时时间花在何处。使用分析器“窗口 > 常规编辑器 > 分析器”(Window > General Editors > Profiler))对场景求值以找出性能瓶颈。

通过查找分析器中完成所用时间很长的事件,识别分析器中的性能减慢。这些事件由长水平条表示,如图所示。

分析器脏事件

脏事件应仅存在于 DG 求值模式中,而不应存在于串行、平行或 GPU 覆盖模式中,因为这些模式没有来自脏事件的开销。如果此类别为空,则没有脏事件。

如要在分析器中查找脏事件,请查找名为“Maya 脏”(Maya Dirty)的类别,其中事件以紫色显示。
注: “弄脏”是 Maya 确定需要在场景中更新什么才能在视口中绘制正确图像的过程。在计算数量之前,Maya 读取图表中的所有网格节点,直到它找到设置几何体动画的参数曲线。在每个步骤中,Maya 将每个节点标志为需要重新求值或“脏”。在适当地更新所有节点后,Maya 调用每个脏节点上的计算方法。

分析器求值事件

在分析器中以不同色度的棕色显示求值事件。如果瓶颈在求值中,则尝试识别造成性能问题的装备元素。

若要找到求值事件,请执行以下操作:

  1. 单击分析器中表示慢任务的栏。在时间轴光标附近将显示一个标签,其中包含正在求值的节点的名称。
  2. 接下来,打开节点编辑器,并找到该节点以调查它在场景中的使用方式。确定节点设置是否在导致不必要的计算,例如:
    • skinCluster 中是否有太多的权重?是否可以减少该数量?
    • 使用的是混合权重而不是线性或 DQ?混合权重会占用大量资源,并需要更多的工作。
    • 在装备求值时间是否使用建模节点?(例如,deleteComponents 会占用大量资源,因为它对模拟的每一帧都重新求值。)
    • 是否使用适合您任务的变形器?例如,如果只有一个逐顶点权重(从不改变),则不需要 skinCluster 变形器。如果是这样,请改用簇。
    • 是否在不可见的装备元素上使用昂贵的变形器?(与 GPU 上的变形相对应的求值事件以黄色显示。)

分析器渲染事件

在每一帧上,在求值事件之后执行渲染。渲染事件源自在视口中绘制场景几何体。渲染事件以蓝色显示。