Skip to main content

Unity/VRChat 性能基准测试

这是一篇关于Unity和VRChat中组件性能(主要聚焦于帧时间)的文章。
这本书是我在 https://notes.sleightly.dev/benchmarks/ 上发布的文章的移植版。

本译文封面图标来自 Freepik

译者前文

本书由 LIII Works 你亲爱的酒保K 翻译。 本书翻译自 VRCLibrary 的 Unity/VRChat Performance Benchmarks 本书翻译工作截止于20...

简介

收集这些数据的主要方法不是仅仅关注单个组件的性能,而是逐步添加更多组件,并从这些数据中推导出性能消耗的数学公式。例如:如果我们想知道在FX控制器上增加一个额外的动画层会增加多少帧时间,我们可以设...

动画控制器 Animator Controllers

约束 Constraint

在介绍完Animator控制器之后,我很高兴能说一些一些较为简单的内容了。虽然约束的情况看似奇怪,但它们的行为实际上是可预测的。 计算启用的约束总数(类型无关),然后结合用下图来确定帧时间。你...

音源 Audio Source

无论如何,我无法让Audio Source对性能产生任何影响,即使在Unity中,音频源的最大数量为64,而在VRChat中每个角色仅限3个。

接触发射器/接收器 Contact Senders/Receivers

首先需要说明的是,每个房间中的 Contact 数量最大限制为4096。如果一个房间中 Contact 的数量超过4096,一些 Contact 将会停止工作。 Contact Senders...

布料 Cloth

Cloth 组件对性能的影响非常大,应尽量谨慎使用。 对于合理数量的顶点(约20万顶点内),每增加1000个顶点,Cloth 组件会增加约0.2毫秒的帧时间。超出这个范围后,帧时间会急剧增加,...

后续计划

我计划继续对更多组件进行基准测试。目前我已经开始对一些组件进行测试,但由于数据尚不充分,暂时不能公布结果。 未来我打算进行基准测试的组件包括: PhysBones/PhysBone co...

物理骨骼 PhysBones

PhysBones 的优化非常出色,在合理的使用范围内,它们的开销较低。PhysBones 的帧时间主要取决于它控制多少有顶点权重的骨头,每 1000 个骨头大约增加 2 毫秒的帧时间。 组件...