在执行增量垃圾回收时的目标收集步骤持续时间。
在启用增量垃圾回收时,垃圾回收器会将释放未用内存所需的工时跨越多个步骤进行分配。在任意单个步骤中,垃圾回收器将自身限制在 incrementalTimeSliceNanoseconds
指定的时间长度内。通过将工作负载分摊出去,增量垃圾回收可以帮助您的游戏达到更流畅的帧速率(在垃圾回收突然下降成为问题时)。使用 Profiler 有助于识别垃圾回收是否对帧速率平滑性有影响。
如果您的应用程序内存不足,或者增量步骤无法跟上垃圾回收工作负载,垃圾回收器可能仍会选择执行常规非增量收集周期。在这方面,设置过短的时间片段可能会适得其反,这是因为每个垃圾回收步骤都有少量开销。默认值 3 ms(3000000 纳秒)是一个很好的起点,而所选持续时间应始终显著低于您的目标帧速率。
如果您通过将 QualitySettings.vSyncCount 设置为大于 0 或通过使用 Application.targetFrameRate 指定帧速率来开启垂直同步,那么无论 incrementalTimeSliceNanoseconds 的值为多少,Unity 都会自动使用每帧结束时剩余的所有额外时间进行增量垃圾回收。
注意:垃圾回收器使用底层平台计时器,其分辨率可能低至一个完整的毫秒。换句话说,将值更改几个纳秒可能不会产生任何影响。
在项目中启用 PlayerSettings 中的增量垃圾回收。您可以使用 IsIncremental 检查是否启用了增量垃圾回收。
你可以使用 CollectIncremental 手动触发增量垃圾回收步骤。