Skip to main content

杂项数据

以下是一些与切换不直接相关但可能对某些人有用的杂项数据:

  • 每层的状态数量和过渡数量对性能的影响似乎不大(这可能解释了为什么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%