杂项数据
以下是一些与切换不直接相关但可能对某些人有用的杂项数据:
- 每层的状态数量和过渡数量对性能的影响似乎不大(这可能解释了为什么AnyState的性能较好)。
- 唯一的例外是当单个状态有大量布尔过渡(例如1000个过渡需要1毫秒)时。浮点数和整数似乎不受此额外开销的影响。
- 在使用人体骨架、非人体骨架或不使用Avatar的情况下,与两状态切换设置相比,每层的帧时间减少约50%。
- 遮罩对帧时间的影响似乎微乎其微。
- 使用子状态机对帧时间的影响也似乎很小。
- 为了增加易读性而嵌套Blend Trees对帧时间的影响几乎可以忽略。
- 对于Direct Blend Trees,禁用“写入默认”(WD off)对帧时间几乎没有影响。
- 对于动画层,禁用“写入默认”(WD off)似乎会使帧时间增加约50%。
- 本地Avatar上的参数每1000个大约需要1.5毫秒,但这个开销不适用于远程Avatar。
由于面部追踪占用了许多层,我对比了普通的VRCFT控制器和由Razgriz的VRCFTGenerator生成的FX控制器(该生成器将层打包成Blend Trees)。
尽管图表仅显示为直线,我还是将数据提供出来(基于37个面部追踪参数):
- VRCFT控制器:每个控制器0.1733毫秒
- VRCFTGenerator:每个控制器0.066毫秒,比非Blend Tree版本减少了62%
No Comments