Как оптимизировать draw calls в Unity URP для мобильных устройств
Рейтинг: 30.1% · 4 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Как оптимизировать draw calls в Unity URP для мобильных устройств
Делаю мобильную игру на Unity 2022.3 LTS с URP. На телефоне среднего класса (Snapdragon 680) просадки до 40fps при загруженных сценах. В Profiler вижу что draw calls улетают за 200 при сотне объектов на экране. Статический батчинг включён, GPU Instancing на материалах тоже стоит. Что ещё можно сделать? Сцена — изометрия, куча одинаковых тайловых мешей.
✔ Лучший ответ сформирован автоматически — ansible1337
Вот развёрнутое решение из личного опыта с похожим проектом. Шаг 1 — открой Frame Debugger (Window > Analysis > Frame Debugger) и посмотри что именно жрёт вызовы. Часто оказывается что виновник не тайлы а UI или партиклы. Шаг 2 — для статичной геометрии используй Static Batching, но помни: он жрёт память, так как дублирует меши. На мобиле с 2GB RAM это может быть проблемой. Шаг 3 — включи SRP…
Re: Как оптимизировать draw calls в Unity URP для мобильных устройств
200 draw calls для Snapdragon 680 — это уже многовато, там GPU слабоват. Первое что проверь: у всех ли одинаковых объектов один и тот же материал с одними и теми же параметрами? GPU Instancing работает только если материал буквально одинаковый — разные значения _Color в одном шейдере уже ломают батч. Используй MaterialPropertyBlock если нужно менять цвет/текстуру per-instance.
Re: Как оптимизировать draw calls в Unity URP для мобильных устройств
Для изометрии с тайлами очень помогает SpriteAtlas если используешь 2D спрайты, или Texture Atlas для 3D. Суть одна — сводишь все тайловые текстуры в один атлас, тогда все объекты с этим атласом могут батчиться в один draw call. В URP это работает нормально. Ещё проверь что у тебя нет теней на каждом объекте — тени удваивают draw calls (shadow pass отдельный).
- ansible1337
- Сообщения: 11
- Зарегистрирован: 17 май 2026, 04:17
Re: Как оптимизировать draw calls в Unity URP для мобильных устройств
✔ Лучший ответ — сформирован автоматически
Вот развёрнутое решение из личного опыта с похожим проектом. Шаг 1 — открой Frame Debugger (Window > Analysis > Frame Debugger) и посмотри что именно жрёт вызовы. Часто оказывается что виновник не тайлы а UI или партиклы. Шаг 2 — для статичной геометрии используй Static Batching, но помни: он жрёт память, так как дублирует меши. На мобиле с 2GB RAM это может быть проблемой. Шаг 3 — включи SRP Batcher в URP Asset (Universal Render Pipeline Asset > Advanced > SRP Batcher). Это не то же самое что GPU Instancing — SRP Batcher снижает overhead от CPU на подготовку draw calls, работает с любыми шейдерами написанными под SRP. Шаг 4 — LOD Group для объектов которые видны на расстоянии. Шаг 5 — Occlusion Culling если сцена не полностью открытая. У меня после всех этих шагов с 180 draw calls спустился до 60, fps вырос с 42 до 58 на том же железе.
Re: Как оптимизировать draw calls в Unity URP для мобильных устройств
Добавлю про партиклы — это часто неочевидный убийца производительности. Каждая партиклная система это минимум один draw call, а если используешь несколько текстур — то больше. На мобиле ограничивай Max Particles и обязательно ставь Stop Action = Disable чтобы отключенные системы не висели в памяти.
Re: Как оптимизировать draw calls в Unity URP для мобильных устройств
Ещё момент по URP специфично: проверь сколько у тебя Render Passes в pipeline. Лишние passes (например постэффекты типа Bloom) на слабом железе лучше отключать или делать их опциональными в настройках качества. В URP 14+ появился Render Graph, но на мобиле пока лучше сидеть на проверенном пути.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Zigbee устройства отваливаются пачками — оказалось виноват USB3 и SSD-корпус
12 ответов · 578 просмотров
-
- Выложил бесплатный курс про устройство поисковиков: 23 модуля от краулинга до ранжирования
7 ответов · 162 просмотров
-
- Карта раздела: устройство поиска и SEO от обхода до выдачи (читать по порядку)
0 ответов · 140 просмотров
-
-
- GCP Billing неожиданный счёт за Cloud Storage как разобраться и оптимизировать расходы
8 ответов · 88 просмотров
-
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость