Unity 6 Preview - тест GPU Resident Drawer

Давно наблюдаю хайп вокруг новой фичи в Unity 6, которая в теории должна сильно бустануть производительность проектов на движке. Захотел сегодня провести простенький тест на HDRP примере и результаты скорее удивили.

Unity 6 Preview - тест GPU Resident Drawer

О чем речь

The GPU Resident Drawer automatically uses the BatchRendererGroup API to draw GameObjects with GPU instancing, which reduces the number of draw calls and frees CPU processing time.

docs.unity3d

Подготовка

Значит беру версию движка 6000.0.019f1, а так же версию 2022.3.15f1. В каждом создаю с нуля проект со стандартным примером под HDRP, благо он и под новую версию есть уже. Настройки в Unity 6 меняю по их мануалу. Выключаю вертикальную синхронизацию, снимаю ограничение по фпс и еще накидываю простой скрипт с Time.frameCount / Time.time (впрочем Nvidia мне и так фпс показывала).

В редакторе смотрим

Не самый надежный способ смотреть на производительность в редакторе, но в нем можно заметить прочие изменения.

Проект под 2022.3, довольно много батчей
Проект под 2022.3, довольно много батчей
Проект под 6, есть какие то минимальные изменения, возможно когда они делали пример под эту версию чуть меняли, но минимально. Только вот где фпс? Может редактор тяжелее стал.
Проект под 6, есть какие то минимальные изменения, возможно когда они делали пример под эту версию чуть меняли, но минимально. Только вот где фпс? Может редактор тяжелее стал.

Итак, потирая ручки я применил настройки и предвкушал буст

И draw calls реально сильно уменьшились, а так же касты теней в два раза. Но чет фпс не многообещающий.
И draw calls реально сильно уменьшились, а так же касты теней в два раза. Но чет фпс не многообещающий.

Билд

Как разработчики и обещают, время билда сильно увеличилось, если в 2022 это заняло около 20 минут, то в 6 чуть меньше часа.

Билд в 2022 выдает 174 фпс, весит 341 мб
Билд в 2022 выдает 174 фпс, весит 341 мб
Билд в 6 с RD выдает 186 фпс и весит 408 мб
Билд в 6 с RD выдает 186 фпс и весит 408 мб

В другом месте сравнение еще менее заметно

Ну типа в среднем на 10 фпс выше и все, если сцена не насыщена инстансами.
Ну типа в среднем на 10 фпс выше и все, если сцена не насыщена инстансами.

Итог

Ну честно я ожидал большего, особенно когда увидел как заметно уменьшились draw calls. С другой стороны от меня потребовалось поставить одну галочку и просто ждать долго билда. А еще вероятно редактор стал тяжелее, это прям не очень хорошо если так, 2022 с каким-нибудь Odin задыхается и так.

Я понимаю, что прям серьезный буст можно получить собрав тяжелую сцену, например с травой, деревьями, множеством инстансов статичных обьектов. Но тогда этот тест может занять много больше времени, чтобы этот проект работал одинаково в двух разных версиях Unity. Попробую позже повторить эксперимент задушив инстансами в кадре и так же расскажу что получилось, должно стать заметнее.

А пока можете поддержать меня и поиграть в CyberCorp :) У нас кстати сегодня будет обновление с новым игровым режимом и множеством улучшений.

1212
11
46 комментариев

Ну разница кстати еще в тенях заметно, где-то он отсутствуют в 6, а где-то они мягче

2

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

1

Я чёт прикола не понял, о чем пост ваще? В курсе что такое ГПУ инстансинг и зачем его придумали? Насри травы на весь экран и потом скидывай тест, а так это просто смешно. Это фича для конкретного юзкейса, и из воздуха фепесов тебе никто не прибавит

2

батчей то стало в два раза меньше и теней, я хотел посмотреть в более реальном кейсе и чтобы проект был сразу идентичный в двух Unity, любой крупный проект-пример для 2022 почти наверняка не запустится в 6ке без правок на весь день как это обычно бывает.

Комментарий недоступен

2

Тут в принципе дроуколы в resident drawer-e отличаются от стоковых, за счет того как BRG работает, они ультра легковесные и не шлют постоянный дроу стейт материалов и мешей в дроуколе, а изначально регистирует проперти мешей и материалов и хранят на гпу, оставляя в дроуколе минимально - пер инстанс проперти измененные, плюс ltw матрицу в brg юзают 4х3 вместо 4х4 в итоге значительно сокращая нагрузку на шину.

>Ну честно я ожидал большего, особенно когда увидел как заметно уменьшились draw callsСмотреть надо на количество SetPass Calls. И оно изменилось не сильно. Количество батчей в urp/hdrp абсолютно бесполезный показатель.

1
1