Включить GPU Резидентный Ящик в URP
Резидентный Drawer GPU автоматически использует BatchRendererGroup API для отрисовки GameObject с GPU instancing: он сокращает число вызовов отрисовки и высвобождает время CPU. Дополнительные сведения см. в Как работает BatchRendererGroup.
Резидентный ящик GPU работает только с следующими:
- Путь отображения Вперед+.
- Графика APIs и платформы, поддерживающие вычислительные шейдеры, кроме OpenGL ES.
- GameObjects, которые имеют компонент Рендерер сетки. В противном случае Unity возвращается к рисованию GameObject без экземплярирования GPU.
Если вы включаете GPU Резидентный Ящик, то применяется следующее:
- Время сборки увеличивается, потому что Unity компилирует все варианты шейдеров
BatchRendererGroupв вашу сборку. Probe Atlas Blending используется по умолчанию, когда используются как Вперед+, так и GPU Resident Drawer.
Включить GPU Резидентный Ящик
Выполните следующие действия:
- Перейдите в Project Настройки > Графика, а затем в разделе Отстраивание шейдеров установите BatchRendererGroup Варианты до Сохранить все.
- Перейти к активному URP активы и проверка SRP Дозатор Если свойство не отображается в списке свойств, URP ассет, открыть Больше (⋮) меню и выберите Показать все расширенные свойства.
- Установить GPU Резидентный ящик на Экземплярный чертеж.
- Дважды щелкните рендерер в Список Рендереров, чтобы открыть Универсальный Рендерер, затем установите Путь Рендирования на Вперед+.
Если вы изменяете или создаете GameObjects каждый кадр, то GPU Резидентный Ящик обновляется с изменениями.
Чтобы включить или исключить GameObjects из резидентного ящика GPU, см. Сделать GameObject совместимым с резидентным ящиком GPU.
Проанализировать GPU Резидентный ящик
Для анализа результатов работы GPU Resident Drawer вы можете использовать следующее:
- Frame Debugger. GPU Resident Drawer группирует GameObject в вызовы отрисовки с именем Hybrid Batch Group.
- Отладчик рендеринга.
- Статистика рендеринга для проверки, увеличивается ли количество кадров в секунду, а время обработки CPU и вызовов SetPass уменьшается.
- Unity Profiler
Оптимизировать GPU резидентный ящик
Насколько Resident Drawer GPU ускоряет рендеринг зависит от вашей сцены. Resident Drawer GPU наиболее эффективен в следующих настройках:
- Сцена большая.
- Несколько GameObjects используют одну и ту же сетку, поэтому Unity может объединить их в один вызов рисования.
Рендирование обычно ускоряется меньше в представлениях Scene и Game, по сравнению с режимом воспроизведения или вашим окончательным созданным проектом.
Следующие действия могут ускорить GPU Resident Drawer:
- Перейдите в Project Настройки > Проигрыватель, затем в Другие настройки разделе отключите Статическое пакетирование.
- Перейдите в Окно > Рендирование > Освещение, затем в разделе Настройки Lightmapping включите Фиксированный Размер Lightmap и отключите Использование Пределов Mipmap.
Примечание: Резидентный ящик GPU использует собственную систему GPU окклюзии, но также поддерживает динамическую окклюзию.
Дополнительные ресурсы
- Уменьшить рендеринг работы на CPU
- Основы графической производительности
- GPU ликвидация по окклюзии