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

ParticleSystem.SetMaximumPreMappedBufferCounts

Declaration

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

Параметры

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

Описание

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

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

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

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

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