Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

ParticleSystem.SetMaximumPreMappedBufferCounts

Объявление

public static void SetMaximumPreMappedBufferCounts(int vertexBuffersCount, int indexBuffersCount);

Параметры

vertexBuffersCount Максимальное количество кэшированных буферов вершин.
indexBuffersCount Максимальное количество кэшированных индексных буферов.

Описание

Ограничивает объем графической памяти, которую Unity резервирует для эффективного рендеринга систем частиц.

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

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

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

Современные графические API, такие как DirectX12, Vulkan и Metal, не используют предварительно выделенный пул буферов вершин, поскольку могут эффективно работать и без него. Этот метод ничего не делает на этих устройствах.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3