Справочная информация о выделениях памяти
Вы можете управлять выделением собственной памяти с помощью аргументов командной строки или с помощью настроек в Unity Editor (Edit > Project Settings > Memory Settings). Информацию о том, как настроить выделение собственной памяти, см. в Настройка выделения собственной памяти.
В следующей таблице содержатся сведения о каждом параметре распределителя, а также их аргументы командной строкии их значения по умолчанию:
Основные распределители
Эти распределители являются теми, которые 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 |