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

Настройка потока mipmap

Установить, какие камеры используют поток mipmap

По умолчанию все камеры в вашей сцене используют поток mipmap, когда вы включаете его.

Отключить поток mipmap на одной камере

Выполните следующие действия:

  1. Выберите камеру в вашей сцене.
  2. В окне Inspector выберите Добавить компонент > Контроллер потока.
  3. Отключить Контроллер потокового вещания компонент.

Включить поток mipmap на одной камере

Выполните следующие действия:

  1. Перейдите в Изменить > Project Настройки > Качество.
  2. В разделе Тексты, в Потоковое вещание Mipmap, отключите Добавить все камеры.
  3. Добавьте компонент Streaming Controller к камере и убедитесь, что он включен.

Установка уровней mipmap, используемых камерой

Используйте настройку Mipmap Bias в компоненте Streaming Controller, чтобы заставить Unity загружать меньшие или большие уровни mipmap, чем те, которые автоматически выбирает поток mipmap.

Unity добавляет значение Mipmap Bias к уровням mipmap из текстур в представлении камеры. Например, если вы установили Mipmap Bias на 2 и поток mipmap выбирает уровень mipmap 1 для текстуры, Unity загружает уровень mipmap 3 (1 + 2).

Вы также можете использовать StreamingController.streamingMipmapBias API для управления этой настройкой.

Установить бюджет памяти для текстур

Чтобы установить максимальную GPU память, которую Unity использует для текстур, выполните следующие действия:

  1. Перейдите в Изменить > Project Настройки > Качество.
  2. В разделе Тексты установите значение Memory Budget в MB.

Например, если вы установили Memory Budget на 100 MB, и у вас есть 90 MB текстур, которые не используют mipmap streaming, бюджет памяти для mipmap streaming составляет 10 MB.

Чтобы избежать превышения бюджета памяти, Unity выполняет следующие действия:

  • Загружает уровни mipmap более низкого разрешения для текстур. Это может привести к появлению текстур или медленной загрузке.
  • Удаляет неиспользуемые уровни mipmap из памяти GPU, чтобы освободить место для необходимых уровней mipmap.

Вы можете использовать свойство Max Level Reduction, чтобы остановить Unity от удаления уровней mipmap, меньших определенного уровня. Это значение также является уровнем mipmap Unity, загружаемым при первом запуске. Например, если вы установите Max Level Reduction на 2, Unity загружает только уровни mipmap на уровне 2 и выше и сохраняет их в памяти.

Unity должен поддерживать уровни mipmap выше значения Max Level Reduction в памяти GPU. Это может означать, что Unity превышает бюджет памяти.

Оценка бюджета памяти

Чтобы оценить бюджет памяти для проекта, выполните следующие действия:

  1. Пока ваш проект работает, используйте Texture.desiredTextureMemory API для получения общего размера текстур, загруженных Unity.
  2. Установите Memory Budget немного выше этого значения.

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

Примечание: Если вы используете Texture.desiredTextureMemory в Редакторе, общий размер может включать текстуры, которые Unity использует для рендеринга окон Редактора.

Установка бюджета памяти во время выполнения

Вы можете использовать следующий APIs для установки и управления бюджетом памяти во время выполнения: