Frame Debugger - посмотри как рендерится твоя игра
Продолжаем разбирать инструменты для оптимизаций, и сегодня это Frame Debugger.
Если ты занимался оптимизацией рендера, то наверняка слышал про draw call’ы, батчинг. Возможно, глядел в окошко Stats, видел большое количество draw call, но не понимал, откуда они берутся.
Frame Debugger - инструмент, который показывает пошагово, как движок формирует кадр и почему какие-то вещи не батчатся.
👀 Что вообще можно увидеть в Frame Debugger?
Когда ты включаешь его, Unity ставит игру на паузу и показывает последовательность рендер-команд для формирования текущего кадра:
• Какие draw call’ы вызываются
• Какие материалы / шейдеры используются
• Какие объекты попали / не попали в батч
• Какие RenderPass’ы отработали
• Как влияет Canvas, UI, прозрачность, сортировка
Показывает дажи операции чистки экрана от прошлого кадра. Зайди, посмотри - это интересно!
🎯 Зачем Frame Debugger нужен?
1. Понять, почему что-то НЕ забатчилось
Очень частая проблема - ты вроде включил Static Batching или Sprite Atlas, но draw call’ы всё равно скачут.
Frame Debugger покажет причину в один клик:
• Разные материалы
• Разный порядок рендеринга
• Разные атласы
• Объект не помечен Static
• Включён/выключен SRP Batcher
• Прозрачность ломает батчи
Там буквально написано: "Why this draw call can't be batched with the previous one: ..."
2. Найти “скрытые” проблемы рендера
Frame Debugger отлично подсвечивает:
• Неверный порядок сортировки слоёв
• Лишние SetPass Calls
• Ненужные Blit’ы и копирование текстур
• Эффекты постобработки, которые вызывают лишние проходы
Когда понимаешь, как конкретно происходит рендеринг, оптимизация становится намного проще.
3. Посмотреть данные материалов, текстуры
Помимо показа последовательности построения объектов, Frame Debugger показывает, каким материалом с какими данными (все property и внутренние) объект отрисовывается. Это полезно, если какой-то объект отрисовывается не так, как предполагается. Например, имеет неожидаемый цвет или положение.
⚙️ Как пользоваться
1. Открыть: Window → Analysis → Frame Debugger
2. Нажать Enable
3. Иди по шагам смотреть каждый вызов
4. Кликать по draw call → изучать причину
Итог
Frame Debugger - крутой инструмент, который поможет разобраться в рендеринге игры и оптимизировать её. Это не только полезно, но и интересно!
А навык использования инструментов оптимизаций поможет на собеседовании и реальной работе.
Подробнее про FrameDebugger можно прочитать в документации Unity
🚀 Пост Guru Unity: @Minerope
Post #424
238

- ❤ 2