TGViewer
Game Development | YeaHub Game Development | YeaHub @yeahub_game_dev · 370 subscribers
Post #419 224
📦 Memory Profiler - инструмент, который спасёт вашу игру от утечек памяти

Привет! Продолжаем тему оптимизаций и профилирования и сегодня разберём один из самых полезных инструментов в Unity - Memory Profiler.

Если у вас рандомные вылеты на мобилках, фризы при загрузке сцен или игра стабильно жрёт много RAM - этот инструмент вам поможет исправить ситуацию.

Что такое Memory Profiler и зачем он нужен

Memory Profiler - это пакет от Unity для анализа использования памяти. Он помогает:

• Видеть, что именно занимает RAM
• Отлавливать утечки
• Находить лишние текстуры, Mesh’и, аудио, коллекции
• Находить ассеты, которые не выгружаются
• Сравнивать состояние памяти в разные моменты игры

Как пользоваться Memory Profiler

Сначала установи пакет (на новых версиях Unity вшит по дефолту): Window → Package Manager → Memory Profiler → Install.
Открой: Window → Analysis → Memory Profiler.

1️⃣ Собери приложение на target устройство

У этого профайлера такого же сайд эффект, как у обычного - в Editor режиме будет профайлить сам себя.
Поэтому, собираем приложение на устройство.

2️⃣ Сделай срез памяти (snapshot)

Snapshot - фиксация текущего состояния памяти.
Snapshot хранятся на диске и их можно сравнивать между собой.

3️⃣Изучи информацию, используя разные режимы в Snapshot

Memory Profiler даёт несколько разных представлений памяти. Это ключ к тому, чтобы быстро понять, где проблема.

1. Summary (Обзор)

Самая верхнеуровневая картина. Сразу видно:

• Общий объём памяти
• Самые тяжёлые категории (Textures, Meshes, Audio, GC Heap)
• В каких областях память растёт

Это то, что открываешь первым, чтобы понять масштаб беды.
Здесь сразу можно увидеть "тяжёлые" ассеты и добавить им сжатия.

2. Objects and Allocations

Показывает объекты Unity (Texture2D, Mesh, AudioClip, GameObject, ScriptableObject) и чистые C# объекты.

Здесь обычно ищут:

• дубли текстур
• Mesh’и с Read/Write
• «вечные» ScriptableObject
• коллекции, которые растут без очистки

3. Native Memory

Память движка и нативных структур: Shader, ComputeBuffer, RenderTexture и т.д.

Именно здесь чаще всего «утекают»:

• RenderTexture
• Shader Variant Collection
• Compute буферы
• GPU ресурсы, которые не освобождаются

4. Managed Objects (GC Heap)

Память .NET среды.
Тут можно найти:

• Списки, которые растут
• Dictionary, которые не чистят
• Объекты, удерживаемые статическими ссылками
• Лямбды, оставшиеся в событиях

4️⃣ Проведи оптимизации

Увидел "тяжёлые" ассеты в проекте - добавь им сжатия
Обнаружил дубляж ассетов - проверяй их загрузку/выгрузку
Просто смотри что жрёт больше всего памяти и найди способы оптимизации веса таких объектов.

5️⃣ Сделай новый Snapshot и используй сравнение (Diff)

Diff - один из самых полезных режимов.

Сразу видно:

• улучшения памяти в сравнении с предыдущим snapshot
• что новое появилось в памяти
• какие ассеты загружаются повторно
• какой тип объектов растёт быстрее всего

Совет - куда обращать внимание, что чаще всего жрёт память

• Текстуры - особенно UI, PNG без компрессии, включённые Read/Write (часто у Азиатских шрифтов TMPro)
• AudioClip - оставленные в RAM WAV-ки
• Meshes - включённый Read/Write Enabled
• Addressables - загрузили, но не выгрузили
• Коллекции - растут и никто не чистит

🚀 Пост Guru Unity: @Minerope
  • 👍 1
More from @yeahub_game_dev
  1. Oct 9, 2026#video #unity 📚 FREE Complete Unity Game Development Courses Полный бесплатный курс по ра…
  2. Oct 8, 2026#Собес #lost #update 🤔 Что такое lost update и при каких условиях он возникает? 💬 Кратко…
  3. Oct 7, 2026#Собес #Task #ThreadPool #async 🤔 Как Task использует ThreadPool? 💬 Кратко: Task использ…
  4. Oct 5, 2026#Собес #memory_layout #data_alignment #padding 🤔 Какие есть исключения из правил хранения…
  5. Oct 2, 2026#tool #гит 📚 Хочешь изучить Git, не рискуя своей локальной установкой? Теперь можно запус…
  6. Oct 1, 2026#Собес #docker_rm #container #stop 🤔 Как удалить Docker-контейнер? 💬 Кратко: Чтобы удали…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →