Область Memory
Существует два режима, которые вы можете использовать для изучения потребления памяти в вашем приложении. Выбрать один из них можно в выпадающем меню в верхней части нижней панели.
Режим Simple
Это простой режим, в котором для выбранного кадра отображается количество используемой памяти во всем редакторе на высоком уровне (довольно обобщённо и без детализации).
Unity резервирует пулы памяти для быстрого выделения памяти под новые объекты, то есть, чтобы избежать слишком частого запрашивания дополнительной памяти у ОС. В нижней панели отображается как количество зарезервированной памяти (Reserved Total), так и количество используемой памяти из той, что была зарезервирована (Used Total).
Выводится для следующих областей:
Числа, которые здесь отображаются не обязаны совпадать с таковыми в диспетчере задач или мониторинге системы (Activity Monitor), т.к. существует потребление памяти, не отслеживаемое через профайлер. Например, память, потребляемая некоторыми драйверами, или память, необходимая для исполняемого кода.
Статистика потребления памяти отображается и для некоторых наиболее часто используемых типов ассетов / объектов и включает в себя количество элементов и объём потребляемой ими памяти (обычной и видеопамяти).
Textures (текстуры)
Meshes (меши)
Materials (материалы)
Animations (анимации)
Audio (аудио)
Object Count
Object Count это общее количество созданных объектов. Если это число растет со временем, значит вы создаете некие объекты, которые никогда не уничтожаются.
Режим Detailed
В этом режиме можно сделать “снимок” текущего состояния. Нажмите кнопку “Take Sample” для совершения сбора детальных данных о потреблении памяти. Процесс получения этих данных занимает некоторое время, поэтому детальный режим не подходит для отображения данных в реальном времени. После создания “снимка” окно профайлера обновится и в нижней части появится подробное дерево из элементов для изучения потребления памяти.
Отобразится потребление памяти отдельными ассетами и игровыми объектами. Отобразится и причина присутствия объекта в памяти. Причины могут быть следующими:
При клике по объекту в списке, он будет выделен в сцене или в проекте, если вы запускали игру в редакторе.
При профилировании игры в редакторе все значения в профайлере памяти отражают потребление самим редактором. При профилировании проигрывателя значения будут меньше, т.к. не будет дополнительной нагрузки от редактора. Для более точного измерения потребления памяти вашим приложением, используйте удалённое профилирование, подключая профайлер к запущенному проигрывателю. Это позволит получить точные данные для работающего на устройстве приложения.
Memory reported under System.ExecutableAndDlls
is read-only memory, so the operating system might discard these pages as needed and later reload them from the file system. This generates lower memory usage, and usually does not directly contribute to the operating system’s decision to kill the application. Some of these pages might also be shared with other applications that are using the same frameworks.