物理模块性能
优质
小牛编辑
126浏览
2023-12-01
【物理模块性能】页面主要展示项目运行过程中物理模块的CPU占用情况,主要包括以下几个部分:
数据汇总
该项主要展示项目运行过程中的 “CPU均值”、“Contacts数量峰值”、“静态碰撞体数量峰值” 和 “动态碰撞体数量峰值”。其中,“CPU均值” 是指物理引擎(Physics.Simulate)每帧的平均CPU耗时。
Physics.Simulate
该项主要展示项目运行过程中物理模块的具体耗时情况。对于Unity引擎而言,其4.x版本所使用的物理引擎为 Nvidia PhysX 2.8,5.x版本所使用的物理引擎为 Nvidia PhysX 3.3。您可以通过与图表交互,查看每一场景、每一帧的具体CPU占用情况。同时,当您选中图表的某一帧时,图表下方的场景图片会随之联动,将离该帧最为接近的项目截图显示给您,从而让您对性能开销的判断更为直观和准确。
另外,建议您点开页面右边栏中的 “分析和建议”,查看更为详细的性能分析。
Contacts 数量、Rigidbody 数量 和 碰撞体数量
我们将这三个关键参数与 Physics.Simulate 图表进行关联,旨在帮您更为准确地定位物理模块的性能问题。Contacts 数量为碰撞对(Contact Pair)数量。所谓“碰撞对”,是指当前空间中发生碰撞的物体之间的接触点,每个 “碰撞对” 均连接两个相互产生碰撞的物体。一般来说,Contacts 数量越大,则表明碰撞物体的数量越多,即物理系统的CPU开销越大。
对于 Rigidibody数量 和 碰撞体数量, 其标准值需因运行平台的不同而不同。对于Mobile移动设备来说,建议 Rigidibody数量 控制在 50 以下,碰撞体数量(静态碰撞体和动态碰撞体) 控制在 100 以下。