Skip to main content

引入

为了更好地理解本节的数据,我想指出以下两点:

- 所有测试都没有包括任何状态行为(State Behaviour)。如果一个控制器的任何动画层上有一个或多个状态行为,所有这些控制器的运行时间会增加50%。无论使用哪种状态行为,这种增加都是存在的。由于默认的Action & Gesture层中包含状态行为,这种额外的开销可能会出现在每个使用的Avatar上。由于这种开销总是存在的,我在测试中选择不包含它,因为我的测试目的是进行比较。然而,如果你查看原始数据,可能需要在结果上增加50%的开销,以获得实际的帧时间。
- Animator Controller的性能不会线性缩放。我将在后文详细讨论,但需要注意的是,两个拥有100个动画层的Avatar并不会比一个拥有200个动画层的头像更慢。优化Animator Controller是有益的,因为减少帧时间是有好处的,但如果你发现一些异常数据(例如,按线性缩放计算,40个头像每个有50个动画层应该需要68毫秒,但实际上只需6.4毫秒),这表明可能有问题。

我将首先介绍单个Controller的帧时间性能,然后讨论在使用多个Controller时性能的变化。