Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

Установить фиксированный шаг времени для оптимизации частоты моделирования физики

Настройка значения фиксированного временного шагу для оптимизации производительности моделирования физики.

Система физики обновляется через фиксированный интервал времени, что важно для точных и последовательных физических моделей. Настройка этой частоты влияет на производительность вашего проекта во время выполнения.

Чтобы просмотреть доступные настройки времени проекта в Редакторе, см. Время.

Настройка фиксированного временного шаг

Выполнение нескольких физических шагов в кадре может значительно повлиять на производительность. Значение фиксированного временного шага определяет интервал, с которым система физики обновляет свою симуляцию. Значение по умолчанию фиксированного временного шага 0.02, что соответствует 50 фиксированным обновлениям в секунду (50 Гц).

На производительность Game отрицательно влияет необходимость выполнения нескольких физических шагов, чтобы не отставать от времени игры. Например, если игровая логика требует 35 мс для выполнения в кадре, а значение Fixed Timestep нацелено на 50 Гц (20 мс), системе может потребоваться выполнить два физических шага вместо одного, что увеличивает вычислительную нагрузку.

Вы можете настроить значение фиксированного временного шага, чтобы сбалансировать производительность и точность моделирования. Однако, учитывайте следующие компромиссы при настройке значения Fixed Timestep:

  • Меньшее значение Fixed Timestep (более высокая частота обновления) создает более точную и стабильную симуляцию, но увеличивает использование CPU из-за более частых обновлений физики.
  • Большее значение Fixed Timestep (меньшая частота обновления) снижает использование CPU, но может привести к менее стабильной физике. Объекты могут проходить друг через друга (туннелирование) или демонстрировать тревожное движение.

Чтобы просмотреть или изменить параметр Фиксированный шаг времени:

  1. Перейдите в Изменить > Project Настройки, чтобы открыть окно Настройки Project.
  2. Выберите группу Время.
  3. Настроить поле Фиксированный шаг времени.

Смягчение возрастающей нагрузки на моделирование физики

На устройствах более низкого уровня или при перегрузке главного потока обычная проблема производительности возникает, когда система физики запускает несколько фиксированных обновлений на кадр, что приводит к циклу увеличения нагрузки CPU и времени кадра. Эта проблема производительности часто называется «спиралью гибели».

Если система физики тратит много времени на обработку кадра, она может запустить множество фиксированных шагов обновления в этом кадре, чтобы догнать прошедшее время игры. Каждый дополнительный шаг физики потребляет больше ресурсов CPU, еще больше увеличивая общее время кадра. Более длительное время кадра вызывает больше шагов физики, и эта увеличенная нагрузка затем делает время следующего кадра еще длиннее. Эта десинхронизация и эскалация требований CPU могут быстро потерять расчеты на устаревших состояниях игры и серьезно ухудшить производительность.

Вы можете установить значение для Maximum Allowed Timestep в разделе Время настроек Project, чтобы ограничить время, потраченное на обновление физики в кадре, если основной поток задерживается. Однако, эта защита может вызвать замедление физики, так что используйте ее осторожно.

Дополнительные ресурсы