Оптимизация запекания
В большинстве конфигураций Progressive GPU Lightmapper работает гораздо быстрее, чем Progressive CPU Lightmapper. Производительность зависит от выбранного профиля выпечки.
Тем не менее, спецификации GPU, который вы используете для запекания и количество VRAM, выделенного для GPU, оба влияют на ваш опыт работы lightmapper.
Другие приложения, конкурирующие за ресурсы GPU, также влияют на производительность запекания. В зависимости от поставщика оборудования уменьшение количества ресурсов VRAM, доступных для Unity, может замедлить процесс запекания или вызвать его сбой.
Для достижения результатов такого же качества, как у Progressive CPU Lightmapper, Progressive GPU Lightmapper требуется до четырех раз больше образцов косвенного света. Progressive CPU Lightmapper использует подход, называемый ветвящимся трассированием, который запускает больше световых лучей при каждом отскоке. Подход ветвящегося трассирования не подходит для GPUs.
Unity предоставляет электронную таблицу, которая поможет вам определить, сколько памяти Progressive GPU Lightmapper требуется для запекания вашей сцены. Более подробную информацию см. в Таблица памяти Progressive GPU Lightmapper.
Предотвращение замедления скорости запекания, вызванного плиткой lightmapper
Прогрессивный GPU Lightmapper включает в себя функцию под названием lightmapper tiling. Lightmapper tiling предотвращает использование Прогрессивным GPU Lightmapper всей доступной GPU памяти. Вместо этого Unity выделяет некоторую временную память на CPU, а затем запекает освещение в плитки, размер которых соответствует количеству доступной GPU памяти. Unity настраивает плитку на основе выбранного профиля выпекания. Прогрессивный CPU Lightmapper не включает в себя функцию tiling.
Когда активна функция плитки и когда разрешение атласа карт освещения составляет 512 пикселей или больше, процесс запекания, вероятно, будет медленнее, чем запекание той же сцены без плитки.
Ограничения платформы
На macOS сложнее определить, сколько памяти доступно. В результате, резервный вариант на CPU более вероятно на этой платформе, и это наилучшая практика следовать инструкциям для оптимизации скорости запекания.
Как оптимизировать скорость запекания
Есть несколько способов, как можно сократить время запекания и избежать ситуаций, когда запекание превышает VRAM, доступный для GPU, предназначенный для запекания.
Закройте другие ускоренные приложения GPU. GPU-ускоренные 2D программы редактирования изображений и 3D программы моделирования используют VRAM. Отключите ускоренные графические функции или выйдите из этих приложений.
Используйте световые зонды для меньших GameObjects. GameObjects, таких как мусор или небольшие реплики, которые занимают место в lightmaps, но могут не вносить значительного вклада в внешний вид сцены. отключить Глобальное освещение для этих GameObjects’ Mesh Renderers и зажечь их огнем Световые зонды вместо этого.
Назначьте отдельный GPUs для рендеринга и запекания. Если на вашем компьютере больше одного GPU, вы можете назначить один для рендеринга и один для запекания. См. Настройка выбора GPU ниже.
Используйте меньшее количество образцов сглаживания. Значение по умолчанию для этой настройки в Параметры Lightmap Активе составляет 8. При увеличении этого значения, Unity использует больше VRAM. При использовании размера lightmap 4096 или выше, это может быстро превысить память многих потребителей GPUs.
Используйте меньше семплов (прямые семплы, косвенные семплы, семплы окружающей среды) и используйте Денуазер для очистки остающегося шума в lightmap.
Уменьшите разрешение светокарты.
Настроить выбор GPU
Если у вас есть хотя бы два GPUs, вы можете указать один GPU для рендеринга Scene и другой для запекания освещения. Это может быть желательным в случаях, когда нет достаточного VRAM для стандартного GPU для рендеринга и запекания сцены с помощью Прогрессивного GPU Lightmapper.
Чтобы изменить, какую GPU Unity использует для запекания:
- Откройте Освещение окна (меню: Окно > Рендеринг > Освещение).
- Выберите Генерировать освещение для предварительного расчета данных освещения.
- Используйте GPU Устройство для выпечки, чтобы выбрать GPU.