Version: 6000.3
语言: 中文
针对 CPU 使用率优化物理系统
手动设置物理模拟

设置固定时间步长以优化物理模拟频率

调整固定时间步长一个可自定义的与帧速率无关的间隔,用于指示何时执行物理计算和 FixedUpdate() 事件。更多信息
请参阅术语表
值来优化物理模拟性能。

物理系统以固定的时间间隔更新,这对于准确和一致的物理模拟非常重要。配置此频率会影响项目的运行时性能。

要查看编辑器中可用的项目时间设置,请参阅时间

调整固定时间步长

每帧运行多个物理步骤会显着影响性能。固定时间步长值确定物理系统更新其模拟的时间间隔。固定时间步长的默认值为 0.02,对应于每秒 50 次固定更新 (50 Hz)。

如果需要多个物理步骤来跟上经过的游戏时间,则游戏性能会受到负面影响。例如,如果游戏逻辑在一帧中运行需要 35 毫秒,而 固定时间步长(Fixed Timestep) 值的目标是 50 Hz(20 毫秒),则系统可能需要运行两个物理步长而不是一个,这会增加计算负载。

您可以调整固定时间步长值以平衡性能和模拟精度。但是,在调整 固定时间步长(Fixed Timestep) 值时,请考虑以下权衡:

  • 较小的 固定时间步长(Fixed Timestep) 值(较高的更新频率)可创建更准确、更稳定的模拟,但由于物理更新更频繁,会增加CPU使用率。
  • 较大的固定时间步长值(较低的更新频率)会降低CPU使用率,但可能会导致物理稳定性较差。对象可能会相互穿过(隧道)或表现出抖动。

要查看或修改固定时间步长设置:

  1. 转到 编辑(Edit) > 项目设置(Project Settings) 以打开 项目设置(Project Settings) 窗口。
  2. 选择“时间”组。
  3. 调整 固定时间步长(Fixed Timestep) 字段。

减轻不断升级的物理模拟负载

在低端设备上,或者当主线程过载时,当物理系统每帧运行多个固定更新时,会出现一个常见的性能问题,从而导致CPU负载和帧时间增加的循环。这种性能问题通常被称为“厄运螺旋”。

如果物理系统花费很长时间处理一帧,它可能会在该帧内运行多个固定的更新步骤,以赶上已用的游戏时间。每个额外的物理步骤都会消耗更多的 CPU 资源,从而进一步增加总帧时间。较长的帧时间会导致更多的物理步骤,而这种增加的负载会使下一帧时间更长。这种不同步和不断上升的 CPU 要求会迅速浪费过时游戏状态的计算,并严重降低性能。

您可以在 时间(Time部分的项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表
以限制在主线程滞后时每帧物理更新所花费的时间。但是,此保护措施可能会导致物理模拟速度变慢,因此请谨慎使用。

其他资源

针对 CPU 使用率优化物理系统
手动设置物理模拟