Unity: впихнуть невпихуемое [Оптимизация графики - часть 1]

preview_player
Показать описание
Делюсь опытом оптимизаций графики для мобилок.
Первая часть, запись от 14.06.2022

Корректировки (актуально на 10.03.2024):
01:38:40 Таки можно врубить эти опции галкой Allow Material Override, но для PBR-материалов это делается вместе с выбором metallic/specular, что, опять же, грузит билд лишними вариантами.
01:39:53 Аргумент снят: условную компиляцию делать можно - я тогда просто не разобрался, где создаётся keyword-параметр... но нельзя сделать свой кастомный property drawer, который автоматически задаёт кейворд - например, если вставлена текстура.

Ссылки:

Также:

Тайминги:
00:00:00 Привет
00:06:51 Bottlenecks
00:10:13 ▶ Stall vs overhead
00:16:03 ▶ Как считать бюджеты
00:21:13 ▶ Overhead от вертексов
00:26:46 Profiling / Debugging
00:29:15 ▶ Внешний дебаггер - RenderDoc
00:34:18 Batching
00:35:13 ▶ Static Batching
00:37:29 ▶ Set Pass vs Draw Call
00:39:41 ▶ Dynamic Batching
00:40:18 ▶ SRP Batching
00:46:24 ▶ GPU instancing
00:50:37 ▶ ▶ Vertex overhead при инстансинге
00:54:47 ▶ Непредсказуемость Dynamic Batching
00:58:45 ▶ Самодельный батчинг (вручную)
01:02:51 ▶ Что ломает батчинг
01:03:58 ▶ ▶ Много текстур ➡ Атласинг
01:05:02 ▶ ▶ Transparent Hell
01:11:30 ▶ ▶ Атласинг для Transparent
01:16:06 ▶ ▶ Transparent Hell: решение?
01:17:32 ▶ ▶ Submeshes
01:21:43 ▶ ▶ Lightmaps
01:24:49 ▶ ▶ Forward vs Deferred: multiple lights
01:27:24 ▶ ▶ Как работает свет в Deferred
01:29:46 ▶ UI / Sprites и батчинг
01:33:19 ShaderGraph: сгенерённый код
01:35:11 ▶ НОЛЬ оптимизаций
01:38:24 ▶ Параметры для Pass State
01:39:53 ▶ Условная компиляция
01:41:46 ▶ Как использовать ShaderGraph МОЖНО
01:44:58 ▶ Всё - per-fragment
01:46:17 Noise в шейдере
01:50:44 ▶ sin/cos noise
01:53:05 ▶ Blended noise
01:56:20 Отличия SRP
01:58:38 ▶ Актуальный HLSL
02:02:28 ▶ Sprite atlas variants
02:05:38 Render Feature / Post-FX
02:08:13 ▶ Command buffer
02:10:26 ▶ Render Texture
02:11:51 ▶ Проблема Dual Blit
02:17:25 ▶ Render Feature vs Post-Process stack
02:21:34 ▶ Multiple Render Targets (MRT)
02:27:00 ▶ ▶ Deus Ex: HR - кастомные маски в MRT (нет)
02:31:37 Профайлинг на мобилках - MGD (Mali Graphics Debugger / Analyzer)
02:40:57 ▶ Mali Offline Compiler
02:50:29 ▶ ▶ float vs half
02:56:48 Вопросы из чата
Рекомендации по теме
Комментарии
Автор

Это топ, парни! На одном дыхании 3х часовой видос. Спасибо!

greinVrn
Автор

Большое спасибо, прям много полезного для себя узнал. Ещё не раз буду пересматртвать, чтоб в голове уложилось:) Ждемс, с нетерпением, продолжения.

artemsemakin
Автор

Какая же крутая лекция. Многое, до чего годами не мог понять, теперь стало по полочкам.

toxicknight
Автор

Это офигенно, настолько годной информации, спасибо огромное!)

danya
Автор

Очень полезная информация! Большое спасибо за стрим 👍

denisann
Автор

Спасибо, очень крутое видео, узнал много полезного, прямо-таки нереально много. Просто кладезь информации. А где можно посмотреть записи других стримов, которые вы упоминаете?

ДенисКозлов-гч
Автор

да, и в УРП нормально батчатся разные материалы с одинаковыми шейдерами - стейт не меняются, но может быть переключение константных буферов, но это дешевле, чем в билтине когда вообще два разных дроколла и гарантированное переключение стейта при смене материала - в этом и разница динамик батчинга и СРП батчера, и зачем нужно делать переменные в константных буферах

AndrewChaiko
Автор

О, привет!) Тебя приятно слушать, запускай свой видео подкаст)

AntonZhvakin
Автор

"... может быть тормозит код, это очень редкий случай (с)" - ахахах, это очень частый случай при портировании разных инди-проектов, где код писался "на коленке")))

edster
Автор

да сортинг группы повесь на свои синие и красные обьекты, если они у тебя визуально не пересекаются - это явно скажет юнити что там два дроколла

AndrewChaiko
Автор

А вторая часть видео где-то есть или так и не вышла?

BilliardsdNet
Автор

Привет! А ты будешь выгружать остальные части стрима?

denisann
Автор

О класс! Ютуб не идеален, но он лучше твича...

elsee
Автор

очевидно что то, что говорится про спрайты это нонсенс

PanicDealer
Автор

Упоминается стрим про графический пайплайн, как его найти? Какое название видео?

SergKonkin
Автор

А как статический батчинг отрабатывает с разными материалами?

ОлегВолосатов-эг
Автор

А поч из раши в грузию айтишники перебегают? Типо же есть европейские страны типо чехии и.т.д. или в планах вернктся позже?

SexMinister-sh
Автор

Офигенски. Очень приятно и интересно слушать. Респект. Ждем продолжения.

andreyromanko