Unity 6.3
0 онлайн 118 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 375 из 442

Проверьте, сколько вариантов шейдера у вас есть

Вы можете использовать инструменты журналирования и профилирования, чтобы проверить, сколько вариантов шейдеров компилирует Unity, и определить способы удаления (strip) вариантов, чтобы улучшить время сборки и уменьшить использование памяти. Вы можете сделать следующее:

Получить список вариантов шейдеров, созданных Unity во время сборки

После создания проекта откройте Editor.log файл журнала и поиск Compiling shader чтобы увидеть, какие варианты Unity компиляции и полоски. Для расположения Editor.log, см. файлы журнала.

Например:

Compiling shader "Sprites/Default" pass "" (vp)
    Full variant space:         8
    After settings filtering:   8
    After built-in stripping:   4
    After scriptable stripping: 4
    Processed in 0.00 seconds
    starting compilation...
    finished in 0.03 seconds. Local cache hits 0 (0.00s CPU time), remote cache hits 0 (0.00s CPU time), compiled 4 variants (0.09s CPU time), skipped 0 variants
    Prepared data for serialisation in 0.00s

Если вы используете Universal Render Pipeline (URP) или High Definition Render Pipeline (HDRP), обратитесь к следующему:

Получить список вариантов шейдеров, которые Unity компилирует во время выполнения

Чтобы получить список вариантов шейдеров, которые Unity компилирует во время выполнения, записывайте, какие объекты состояния конвейера (PSO) использует ваше приложение, с помощью экспериментального GraphicStateCollection API. Более подробную информацию см. Отслеживание и управление PSO сбор данных.

Вы также можете регистрировать скомпилированные варианты шейдеров в Консоль окне и в файле журнала. Выполните следующие действия:

  1. Перейти к Изменить > Project Настройки > Графика.
  2. Под Загрузка шейдера, включить Компиляция шейдера.
  3. При сборке проекта включите Разработка Build в настройки сборки.
  4. В течение Окно консоли, выбрать Редактор и создание возможностей Полный журнал [только режим разработчика].
  5. Запустите созданное приложение.

Unity отображает сообщение Compiled shader в окне Консоли при компиляции шейдера для GPU.

Проверить, сколько памяти используют шейдеры во время выполнения

Используйте модуль Память Profiler или пакет Память Profiler, чтобы проверить, сколько памяти используют шейдеры во время выполнения. Если шейдер использует много памяти, вы можете поэкспериментировать с удалением его вариантов.

Выделение отсутствующих шейдеров во время выполнения

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

  1. Перейдите в Изменить > Project Настройки > Игрок.
  2. В разделе Другие настройкив разделе Настройки шейдера выберите Вариант строгого шейдера, соответствующий.

Вы также можете включить это в скриптах C#, используя strictShaderVariantMatching.

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