Как работает графика PUBG. Где оптимизация?Видео Новости 

Как работает графика PUBG. Где оптимизация?

Всем привет, В данном посте хочу поделиться всякой информацией касательно работы графики в PUBG и некоторыми найденными косяками. Этакий познавательно детективный пост.

Видео

Отрисовка кадра игры PlayerUnknown’s Battlegrounds

Процесс построения кадра в PUBG

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

1. Этап. Непрозрачные статические объекты в поле зрения камеры рендерятся в буффер глубины. Рендерятся без текстур. Поэтому процесс довольно шустрый.

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

Эта карта глубины нужна движку в последующем для различных целей. Например отсечение лишней геометрии. Тех объектов которые перекрыты другими. Плюс для рисования декалей, для эффекта глубины резкости (DoF), объемного тумана и тд.

Этот этап требует синхронизации с процессором, а значит, пока не построим карту глубины, дальше ничего не рендерится.

И вот тут мы приходим к фейлу №1. В пубжике объектов очень много и карта 8кв км. Дальность камеры конская. Поэтому движку очень часто приходится работать с огромным количеством геометрии в кадре. Тут есть переиспользование данных из предыдущих кадров (для скорости), но когда ты крутишь камерой, то эти данные типа устаревают и нужно начинать все сначала.

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

На графике количества отрисовок (Draw Call) мы видим пики. На эти пики садится твой ЦП и себе на колени усаживает видюху.

От этого время кадра гуляет, регулярно фризы и прочие неприятности. Кстати, в зависимости от происходящего, перед этим этапом может быть этап симуляции частичек, если у нас есть какие-то взрывы, огонь и прочее.

Идем дальше по построению кадра.

Этап 2.

Рисуем объекты сразу в несколько буфферов: GBufferC дифьюз , GBufferA – нормали, SceneColorDeferred – непрямого освещения, Distortion -отражаемости, матовости и тд.

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост
Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост
Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

Потом рендерим HBAO+, каскады теней и прозрачные объекты.

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост
Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост
Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

Далее идут всякие эффекты, пост эффекты и кадр готов.

В принципе, ничего особенного. Но разрабам надо разобраться с кулингом. Т.к. стандартное отсечение геометрии работает хреново от слова совсем. Куча геометрии остается не выброшеной из кадра. Как например весь интерьер каньона. Смотрим положение камеры на первом скриншоте. Смотрим на каньон.

Как работает графика PUBG. Где оптимизация? Pubg, Компьютерная графика, 3D графика, Компьютерные игры, Игровая графика, Длиннопост

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

Похожие статьи о PUBG