Консультирование по вопросам визуальной оптимизации графики игр

Frame time 28ms на Samsung Galaxy A53 при целевых 16.6ms. Unity Profiler показывает `Camera.Render` занимает 18ms из них. Разработчик смотрит в Frame Debugger — 340 draw calls, половина из которых это UI Canvas в режиме `Screen Space - Overlay` с `Rebuild` каждый кадр. Мы решаем такие проблемы за де

Наши компетенции

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

VR/AR/MR приложения на заказ

Впечатляйте клиентов и обучайте команду в виртуальной реальности

Разработка игр на Unity

От идеи до релиза — игры, которые запоминаются

3D-моделирование и анимация

Оживим ваш продукт в объёмной графике и анимации

VR-тренажёры промышленного оборудования

Тренируем операторов на технике без риска и простоя

AR-инструкции для производства

Пошаговые подсказки прямо на оборудовании — без бумаги

Safety-тренажёры

Отработка ЧС и техники безопасности без выхода на объект

VR/AR-тренинги

Обучаем персонал сервису, адаптации и soft skills в VR

Обучающие викторины

Проверка знаний в формате игры — легко и без стресса

Корпоративные видеоинструкции

Понятные ролики для обучения сотрудников и клиентов

Геймификация бизнес-процессов

Мотивируем команду через игровые механики в KPI и HR

Приложения для инфокиосков

Интерактивные экраны для магазинов, стендов и офисов

VR/AR-инсталляции

Wow-эффект для брендов на выставках, ивентах и в шоу-румах

Виртуальные выставки и музеи

Ваша экспозиция доступна из любой точки мира — 24/7

Event-квесты и брендированные игры

Запоминающиеся игры для конференций и клиентских ивентов

Часто задаваемые вопросы

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    95

Frame time 28ms на Samsung Galaxy A53 при целевых 16.6ms. Unity Profiler показывает Camera.Render занимает 18ms из них. Разработчик смотрит в Frame Debugger — 340 draw calls, половина из которых это UI Canvas в режиме Screen Space - Overlay с Rebuild каждый кадр. Мы решаем такие проблемы за день, но без точной диагностики итерации растягиваются на недели. Наш опыт — более восьми лет в геймдеве, свыше 50 проектов, где мы добивались стабильных 60 FPS на среднем железе.

Консультирование по визуальной оптимизации — это диагностика узких мест и план конкретных действий, а не «используйте меньше полигонов». Мы передаем команде не только отчет, но и понимание, как самостоятельно находить и устранять проблемы в будущем. Гарантируем сокращение времени на баг-фикс в 2–3 раза после нашей консультации.

Какие проблемы решает визуальная оптимизация?

CPU side. UnityEngine.Rendering.RenderPipeline.Render в Profiler — первая точка входа. Если там > 10ms на мобиле при простой сцене — смотрим дальше. Canvas.SendWillRenderCanvases — флаг проблемного UI. ShadowCaster.Render — теней слишком много или слишком большой shadow distance. Animator.Update с большим числом активных аниматоров в сцене — каждый активный Animator тратит CPU независимо от видимости.

GPU side. Snapdragon Profiler для Android, Xcode GPU Frame Capture для iOS — точнее Unity Profiler для GPU-анализа. Fillrate overdraw виден через Unity Scene View в режиме Overdraw — красные зоны это многократная перерисовка. Типичная проблема: партикл-системы с Additive blending рисуют по 15–20 слоёв поверх фона — каждый слой полный fillrate pass.

Memory. Memory Profiler package — не встроенный Profiler. Снапшот кучи показывает конкретные текстуры, которые занимают VRAM. Незасжатая 4K текстура = 64 МБ VRAM, без мипмапов ещё хуже — при удалении от объекта GPU всё равно читает полное разрешение.

Почему Dynamic Batching подводит на мобильных?

Dynamic batching автоматически батчит меши с одинаковым материалом если они <= 900 вершин и 300 треугольников. Но если у объектов разные MaterialPropertyBlock значения (например, цвет через скрипт) — батчинг ломается. GPU Instancing в 3 раза эффективнее на мобильных GPU, так как снижает количество draw calls за счёт одного вызова рендеринга для множества объектов. Переход на GPU Instancing — одно из самых эффективных изменений.

Какие типичные проблемы мы находим?

  • Canvas Rebuild каждый кадр. Canvas.willRenderCanvases стреляет при любом изменении дочернего элемента — смещение, цвет, текст. Если в HUD обновляется таймер каждую секунду, весь Canvas пересчитывается. Решение: разделение Canvas на статичные и динамические части. Анимированные элементы на отдельный Canvas.
  • Shadow Distance. На мобильных платформах Shadow Distance = 150 (дефолт) рисует каскадные тени для всего что в 150 юнитах от камеры. Реальная потребность — обычно 20–40 юнитов. Разница в shadow render time — 3–4x.
  • MipMap Streaming не настроен. Без QualitySettings.streamingMipmapsActive = true все текстуры загружаются в полном разрешении при старте сцены. Для мобилок с 3–4 ГБ RAM это критично — сцена с 200 текстурами может занять 600 МБ VRAM при старте.

Как проходит консультация по визуальной оптимизации?

  1. Аудит. Запускаем проект на целевом устройстве с прикреплённым Profiler, снимаем несколько характерных сцен. Анализируем frame breakdown, draw calls, fillrate, memory snapshot. Результат — список узких мест с оценкой потенциального прироста.
  2. План действий. Приоритизируем по соотношению «сложность исправления / прирост производительности». Простые победы (shadow distance, canvas split, texture compression) — сначала. Архитектурные изменения (переход на GPU Instancing, реорганизация LOD) — с оценкой трудозатрат.
  3. Поддержка реализации. Мы реализуем изменения сами или консультируем команду при самостоятельном исправлении. Для второго варианта: письменный технический гайд с конкретными настройками и ожидаемыми результатами.

Что входит в консультацию по визуальной оптимизации?

  • Документация: отчёт с графиками, скриншотами Profiler и Frame Debugger, рекомендации по приоритетам.
  • Код оптимизаций: готовые шейдеры, скрипты для настройки Instancing, конфиги для Addressables.
  • Доступ: временный доступ к нашему демо-стенду с эталонными решениями.
  • Обучение: 2-часовая сессия с разбором типичных ошибок и ответами на вопросы команды.
  • Поддержка: консультации по возникшим сложностям в течение месяца после завершения основного этапа.

Мы используем комбинированный подход: сначала CPU-профилирование для поиска логических узких мест, затем GPU-детализация через RenderDoc и Snapdragon Profiler. Это позволяет найти как очевидные, так и скрытые проблемы — например, неправильную настройку LOD или неэффективное использование шейдеров.

Инструменты, которые используем

Инструмент Назначение Платформа
Unity Profiler + Frame Debugger CPU/GPU профилирование, draw calls Unity Editor
RenderDoc Детальный GPU-анализ PC, консоли
Snapdragon Profiler GPU-профилирование Android Android (Adreno)
Xcode GPU Frame Capture GPU-профилирование iOS iOS (Metal)
Memory Profiler 1.1+ Анализ VRAM, текстуры Unity Editor

Сроки и экономия

Тип консультации Срок Экономия времени для команды
Экспресс-аудит + отчёт (1 сцена, 1 платформа) 1–3 дня до 2 недель самостоятельного разбора
Полный аудит производительности + план оптимизации 5–10 дней до 4 недель на поиск решений
Аудит + реализация оптимизаций 2–6 недель полное снятие головной боли по FPS

Средняя экономия на проекте — сокращение бюджета на отладку на 30–50% за счёт точного выявления коренных причин. Стоимость консультации фиксируется после первичного анализа проекта и целевых платформ. Свяжитесь с нами, чтобы обсудить ваш проект и получить предварительную оценку. Закажите консультацию, и мы поможем решить проблемы с производительностью.