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

Справочная информация о выделениях памяти

Вы можете управлять выделением собственной памяти с помощью аргументов командной строки или с помощью настроек в Unity Editor (Edit > Project Settings > Memory Settings). Информацию о том, как настроить выделение собственной памяти, см. в Настройка выделения собственной памяти.

Project Настройки > Настройки памяти, показывает выбор настроек памяти игрока
Project Настройки > Настройки памяти, показывает выбор настроек памяти игрока

В следующей таблице содержатся сведения о каждом параметре распределителя, а также их аргументы командной строкии их значения по умолчанию:

Основные распределители

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

Главный распределитель

Основной распределитель Unity используется для большинства распределений. Он имеет следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Размер блока главной резьбы Размер блока выделенного распределителя основного потока. memorysetup-main-allocator-block-size 16777216 байт
Общий размер блока резьбы Размер блока общего распределителя потоков. memorysetup-thread-allocator-block-size 16777216 байт

Gfx-распределитель

Распределитель Unity используется для распределений CPU, связанных с системой Gfx. Он имеет следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Размер блока главной резьбы Размер блока выделенного главного потока Gfx allocator. memorysetup-gfx-main-allocator-block-size 16777216 байт
Общий размер блока резьбы Размер блока распределителя потоков Gfx. memorysetup-gfx-thread-allocator-block-size 16777216 байт

Другие распределители

Выделения, используемые для деревьев типов и кэша файлов. Он имеет следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Размер блока кэша файла Кэш файлов имеет свой собственный распределитель, чтобы избежать фрагментации. Это его размер блока. memorysetup-cache-allocator-block-size 4194304 байт
Тип Размер блока дерева Деревья типов имеют свой собственный распределитель, чтобы избежать фрагментации из-за многочисленных малых распределений. Это его размер блока. memorysetup-typetree-allocator-block-size 2097152 байт

Распределитель общих контейнеров

Распределитель контейнера, совместно используемый основными распределителями. Он имеет следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Зернистость Размер шага для контейнеров в общем распределителе. memorysetup-bucket-allocator-granularity 16 байт
Распределитель BucketCount Количество размеров ведра. memorysetup-bucket-allocator-bucket-count 8
Размер блока распределителя ведра Размер блоков памяти, используемых для контейнеров. memorysetup-bucket-allocator-block-size Редактор: 8388608 байт
Игрок: 4194304 байт
Число блоков распределителя ковша Максимальное число блоков, подлежащих выделению. memorysetup-bucket-allocator-block-count Редактор: 8
Игрок: 1

Быстрые временные распределители на поток

Аллокатор Thread Local Storage (TLS), который обслуживает очень кратковременные выделения памяти.

Распределитель Описание Аргумент командной строки По умолчанию (в байтах)
Размер блока главной резьбы Начальный размер стека основного потока. memorysetup-temp-allocator-size-main Редактор: 16777216
Игрок: 4194304
Размер блока рабочего Размер каждого рабочего в системе заданий Unity. memorysetup-temp-allocator-size-job-worker E262144
Размер блока работника фонового задания Размер для каждого фонового процесса. memorysetup-temp-allocator-size-background-worker 32768
Размер блока предварительной нагрузки Размер стека менеджера предзагрузки. memorysetup-temp-allocator-size-preload-manager Редактор: 33554432
Игрок: 262144
Размер блока аудиоработника Размер стека каждого аудио рабочего потока. memorysetup-temp-allocator-size-audio-worker 65536
Размер блока облачного рабочего Размер стека потоков облачных рабочих. memorysetup-temp-allocator-size-cloud-worker 32768
Размер блока потока Gfx Размер стека основных потоков рендеринга. memorysetup-temp-allocator-size-gfx 262144
GI Размер блока для выпечки Размер стека каждого рабочего потока GI. memorysetup-temp-allocator-size-gi-baking-worker 262144
NavMesh Размер блока рабочего Размер стека потоков рабочей сетки навигации. memorysetup-temp-allocator-size-nav-mesh-worker 65536

Быстрые потоковые общие временные распределители

Быстрый линейный распределитель для кратковременных распределений, совместно используемых потоками.

Распределитель Описание Аргумент командной строки По умолчанию (в байтах)
Размер блока распределителя заданий Круглый Робин линейный поток распределитель Unity в основном используется для рабочих потоков работника. memorysetup-job-temp-allocator-block-size 2097152
Размер блока распределителя фоновых заданий Линейный распределитель для фоновых рабочих, который позволяет выделять ресурсы на более длительный срок. memorysetup-job-temp-allocator-block-size-background 21048576
Размер блока распределителя заданий на платформах с низким уровнем памяти Платформы с памятью менее 2 GB используют этот размер как для рабочих заданий, так и для фоновых заданий. memorysetup-job-temp-allocator-reduction-small-platforms 262144

Profiler Распределители

Распределители, которые Unity использует исключительно для Profiler, чтобы они не мешали шаблонам распределения приложения. Они имеют следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Profiler Размер блока Размер блока для основной части Profiler. memorysetup-profiler-allocator-block-size 16777216
Редактор Profiler Размер блока Размер блока для редактора части Profiler. Это не присутствует в игроках. memorysetup-profiler-editor-allocator-block-size 1048576 байт

Общий Profiler распределитель ведра

Общий распределитель bucket для распределителей Profiler и Editor Profiler. Не присутствует на платформах с низким уровнем памяти. Имеет следующие настройки:

Настройка Описание Аргумент командной строки Значение по умолчанию
Зернистость Размер шага для контейнеров в общем распределителе. memorysetup-profiler-bucket-allocator-granularity 16 байт
Распределитель BucketCount Число размеров контейнеров. Например, если значение равно 4, размеры будут 16 байт, 32 байт, 48 байт и 64 байта. memorysetup-profiler-bucket-allocator-bucket-count 8
Размер блока распределителя ведра Размер блоков памяти, используемых для контейнеров. memorysetup-profiler-bucket-allocator-block-size Редактор: 33554432 байт
Игрок: 4194304 байт
Число блоков распределителя ковша Максимальное число блоков, подлежащих выделению. memorysetup-profiler-bucket-allocator-block-count Редактор: 8
Игрок: 1

Дополнительные ресурсы