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

Введение в оптимизацию вызовов отрисовки

Оптимизация вызовов отрисовки ускоряет рендеринг, снижая частоту, с которой CPU отправляет данные на GPU.

По умолчанию каждому мешу нужен собственный вызов отрисовки. Вызов отрисовки состоит из следующих шагов:

  • Обновление состояния рендеринга. CPU через графический API готовит и отправляет всё, что нужно GPU для отрисовки меша: например, код шейдера, текстуры и буферы. Это самый нагруженный для CPU шаг.
  • Отправить вызов на проведение розыгрыша. CPU использует графику API, чтобы сообщить GPU, что должен провести розыгрыш.

При оптимизации вызовов отрисовки Unity группирует данные и меши, использующие одно и то же состояние рендеринга. В результате Unity реже обновляет состояние рендеринга и отправляет несколько объектов одним вызовом отрисовки.

Оптимизация вызовов отрисовки даёт следующие преимущества:

  • Улучшите время кадров или увеличьте количество GameObjects, которые вы можете отобразить в кадре.
  • Уменьшение количества электроэнергии, необходимой для вашего приложения. Для устройств, работающих от батарей, это снижает тепло, которое производит устройство, и скорость, с которой батареи разряжаются.

Типы оптимизации вызова игры

Методы оптимизации вызова чертежей в Unity работают одним из следующих способов:

  • Отрисовка нескольких копий меша в одном вызове отрисовки с использованием аппаратных возможностей GPU. Это и есть GPU instancing.
  • Использование другого метода, чтобы сократить число обновлений состояния рендеринга, — например, больших буферов GPU. Именно так работает Scriptable Render Pipeline (SRP) Batcher.
  • Объединение мешей, использующих одно и то же состояние рендеринга, и их совместная отрисовка.

Дополнительные сведения см. в Выбор метода оптимизации вызовов отрисовки.

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