Особенности работы Nvidia DLSS на примере Metro Exodus и Battlefield V

Что такое Nvidia DLSS?

Это сокращение от Deep Learning Super Sampling или в переводе «Супер-сэмплинг при помощи глубокого обучения». Что это значит доступным языком? На самом деле все просто — это метод для сглаживания краев на объектах, чтобы избежать «лесенок» и прочих неприятных артефактов. Данная технология сопоставима с привычным антиалиасингом, только вместо использования мощности самого GPU, DLSS полагается на ядра Tensor. Это отдельный блок в чипе RTX, который оптимизирован для работы с ИИ, нейросетями и глубоким обучением.

Как объясняет Nvidia, DLSS сглаживание работает путем анализа сцен и изображений и последующего улучшения качества сглаживания, при этом без значительного влияния на производительность.

Особенно такая техника будет эффективна на разрешении 4K, где обычный антиалиасинг потребляет очень много ресурсов. В таких условиях DLSS позволяет выводить четкую картинку со сглаживанием краев, при этом сохраняя высокую частоту кадров.

Что такое «глубокое обучение»?

Это часть области машинного обучения, связанная с алгоритмами, которые основаны на структуре и функционировании «мозга» искусственных нейронных сетей. Ключевое преимущество глубокого обучения по сравнению с прошлыми алгоритмами заключается в том, что чем больше данных доступно нейросети, тем лучше ее производительность и точнее результат. Более того, такие нейросети способны учиться на собственных же трудах, стараясь максимизировать достижение поставленной цели.

В рамках видеокарт Nvidia RTX 20 серии осуществляют процесс глубокого обучения ядра Tensor, которые специализируются на осуществлении вычислений с нейро-сетями.

Каким образом нейросеть помогает сглаживать картинку?

Nvidia пока не описала данный процесс, однако учитывая свойства глубокого обучения можно предположить следующее. Nvidia тренирует нейросеть на основе двух наборов изображений — одни со сглаживанием, другие без. На основе этого нейросеть создает модель того, как работает сглаживание и может применять алгоритм самостоятельно. То есть, DLSS обучена добавлять и/или менять пиксели на изображении так, чтобы они создавали качественную картинку. И никакого антиалиасинга не требуется.

Технология Nvidia DLSS год спустя: больше никаких тензорных ядер и прицельного обучения

Качество суперсэмплинга медленно, но все-таки улучшается.

Вместе с видеокартами GeForce RTX корпорация Nvidia представила технологию DLSS. Это был суперсэмплинг, работающий на базе нейросети, обучающейся под каждую игру.

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

А вот еще история

Не только трассировка лучей: что еще умеют видеокарты GeForce RTX

Первое время качество работы DLSS было не слишком высоким — картинка, сгенерированная нейросетью, больше напоминала обычный апскейл. Однако постепенно Nvidia удалось доработать технологию: появился условный DLSS версии 2.0.

Канал Hardware Unboxed протестировал ряд игр с поддержкой DLSS, пообщался с представителями Nvidia и рассказал, как именно технология суперсэмплинга на базе нейросети улучшилась за первый год своего существования.

Ключевых изменений в версии 2.0 два. Во-первых, теперь DLSS работает не на тензорных, а на обычных шейдерных ядрах. Во-вторых, разработчики отказались от обучения под конкретные игры, нынешняя версия DLSS это универсальная система.

Эта версия DLSS используется относительно недавно: первыми играми, где она применяется, стали Wolfenstein Youngblood и Deliver Us the Moon. Control был своего рода экспериментальным проектом — это единственная игра с DLSS версии 1.9.

А вот еще история

DF: Wolfenstein Youngblood может показывать, как новые консоли справятся с «тяжелыми» технологиями

Предполагается, что в рамках разработки второй версии DLSS полностью переписали. Новый подход — нейросеть в нем, видимо, сохранилась — позволил значительно повысить качество картинки. К примеру, уже в Control, где использовалась переходная версия, не появлялись артефакты, характерные для предыдущих версий DLSS.

По качеству картинки рендер в разрешении 1440p, подтянутый до 4К с помощью DLSS, был очень близок к нативному 4К. Однако у версии 1.9 было два недостатка: во-первых, ее приходилось адаптировать под конкретную игру; во-вторых, система плохо работала с разрешениями уровня 1080p.

Полноценный DLSS 2.0, созданный на базе экспериментальной версии для Control, лишен первого недостатка и практически лишен второго. Эта технология достаточно неплохо работает с низким разрешением и не привязана к конкретным играм.

Новую версию проще как добавлять в игру, так и поддерживать. Улучшить качество рендеринга с новой версии DLSS можно без помощи со стороны разработчиков: Nvidia может решить вопрос с помощью патча для графического драйвера.

Вместе с решением проблем предыдущей версии Nvidia удалось еще сильнее повысить качество апскейла. В Wolfenstein Youngblood, где используется версия 2.0, апскейл с 1440p до 4К выглядит почти так же, как реальный 4К — отличия минимальны.

Кроме того, актуальная версия DLSS может показывать стабильную производительность практически на любой карте GeForce RTX. Прирост производительности будет зависеть от реального разрешения рендеринга: чем оно ниже, тем меньше прирост.

Но с последней версией DLSS есть фундаментальная проблема — у нее отсутствует обратная совместимость. Хотя сейчас технология работает гораздо лучше, чем год назад, в играх с поддержкой старой DLSS нельзя просто переключиться на новую.

Для перехода на DLSS версии 2.0 разработчикам игр, где используется старая версия, надо выпускать специальные патчи. Пока, видимо, ни одного такого патча не выходило.

Какие игры будут поддерживать технологию DLSS?

Уже заявлена поддержка в следующих играх:

  • Ark: Survival Evolved
  • Atomic Heart
  • Dauntless
  • Final Fantasy XV
  • Fractured Lands
  • Hitman 2
  • Islands of Nyne
  • Justice
  • JX3
  • Mechwarrior 5: Mercenaries
  • PlayerUnknown’s Battlegrounds
  • Remnant: From the Ashes
  • Serious Sam 4: Planet Badass
  • Shadow of the Tomb Raider
  • The Forge Arena
  • We Happy Few

Другими словами, запуская эти игры на RTX 20 серии, игроки смогут без опасений выставлять 4K разрешение и наслаждаться высокой частотой кадров. На GTX 1080 в 4K разрешении и с включенным сглаживанием о 60 fps можно было бы даже не думать.

Морфологическое сглаживание (Morphological Antialiasing, MLAA)

MLAA пытается оценить покрытие исходной геометрии. Для точной растеризации сглаженного треугольника необходимо вычислить площадь покрытия каждого пикселя внутри треугольника, чтобы правильным образом смешать его с фоном. MLAA начинает с изображения без сглаживания, а затем обращает процесс вспять, векторизируя силуэты, чтобы вычислить покрываемые ими площади. Поскольку фон после растеризации узнать нельзя, MLAA затем смешивает его с соседом, предполагая, что его значение близко к значению исходного фона. Другими словами, алгоритм распознаёт границы (с помощью информации о цвете или глубине), а затем обнаруживает в них конкретные паттерны. Сглаживание обеспечивается интеллектуальным смешиванием пикселей в границах. MLAA имеет реализации на DirectX 10 и Mono Game (XNA). Он честно реализован в таких играх, как Fable II. Создатели MLAA позже создали SMAA, или Enhanced Subpixel Morphological Antialiasing (усовершенствованное субпиксельное морфологическое сглаживание), которое является основной темой данной статьи. MLAA в действии

⇡#3DMark

Тест DLSS в составе 3DMark основан на бенчмарке Port Royal и задействует DXR для рендеринга освещения, теней и отражений. Но то, что Port Royal показывает на экране, имеет весьма отдаленное отношение к первым играм, которые освоили Ray Tracing. Ни в Battlefield V, ни в Metro Exodus нет настолько обильной трассировки лучей, а рендеринг такого изображения при играбельной частоте смены кадров с трудом дается даже GeForce RTX 2080 Ti.

Что касается DLSS, то повторяемая сцена обеспечивает идеальные условия для тренировки нейросети (впрочем, через какое-то время в тесте может появиться функция свободной камеры). Изображение, масштабированное при помощи DLSS, здесь выглядит не хуже, чем тот же кадр, честно прорисованный в целевом разрешении экрана, а во многих отношениях даже лучше. При рендеринге в нативном разрешении отдельные участки кадра сильно размыты — это особенно выражено в отражениях зеркальных поверхностей, где к тому же бросаются в глаза ступенчатые края полигонов. По всей видимости, 3DMark экономит количество лучей в этой чрезвычайно ресурсоемкой сцене и активно пользуется шумоподавлением, чтобы аппроксимировать цвет промежуточных пикселов. DLSS, в свою очередь, восстанавливает пропавшие детали, убирает «лесенки» и повышает локальный контраст.

TAA

DLSS

TAA

DLSS

TAA

DLSS

На другом скриншоте можно увидеть, как DLSS устраняет грубый шум трассировки лучей в отражении на полу комнаты и делает резче материалы, не отражающие свет. Впрочем, на темных поверхностях можно разглядеть «грязные» артефакты, когда нейросеть увеличивает локальный контраст в участках с низким динамическим диапазоном.

TAA DLSS

TAA

DLSS

TAA

DLSS

Но это единственный изъян реализации DLSS, который мы смогли обнаружить, пока в этом тесте не появилась свободная камера. В остальном 3DMark демонстрирует эталонное качество масштабирования. Жаль, что в реальных играх все совсем не так просто.

⇡#Battlefield V

В Battlefield V, помимо DLSS и рендеринга в полном размере со сглаживанием TAA, есть возможность просто уменьшить разрешение viewport’а, а игра растянет его на полный экран. Масштабированный кадр дополнительно проходит через фильтр, увеличивающий локальный контраст, — наподобие Unsharp Mask в «Фотошопе». В результате получается довольно резкое и шумное изображение, но по крайне мере лучше так, чем установить разрешение 1440p на 4К-матрице, поручив масштабирование электронике монитора, а главное, для этого не нужна видеокарта серии GeForce RTX.

DLSS же в Battlefield V, напротив, никак не влияет на локальный контраст, а нейросеть сама по себе еще не настолько хорошо тренирована, чтобы волшебным образом восстановить информацию из кадра с пониженным разрешением, как это происходит в 3DMark. Потеря резкости в DLSS по сравнению с тем, что можно видеть при рендеринге в полном разрешении, хорошо заметна на первом скриншоте, где масса мелких деталей на земле и в листве деревьев сливается с туманом. Простое масштабирование c разрешением viewport’а 67 % (что эквивалентно 1440p при целевом разрешении 2160p) в этой сцене дает зернистую и грубую, зато не настолько размытую картинку.

TAA

DLSS TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %

На поверхностях с однородной текстурой мягкое размытие DLSS не бросается в глаза. О такой же четкости, как при рендеринге в нативном разрешении с TAA, по-прежнему не идет никакой речи, но уже можно рассуждать, что лучше — DLSS или масштабирование из разрешения 67 %. Однако во второй сцене Battlefield V можно заметить проблемы иного рода: DLSS удалило «лишние» детали пятен на броне танка (подходящая аналогия из инструментов фоторетуши — это Healing Brush в Photoshop). Зато по этому признаку видно, что DLSS — это не просто растянутая картинка низкого разрешения. Нейронная сеть пытается обнаружить паттерны в изображении, но иногда принимает ошибочные решения.

TAA

DLSS

TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %

Лучше всего DLSS справляется с простыми контрастными текстурами и тонкой геометрией. В последнем случае нейросеть усиливает детали, которые полностью теряются при сниженном разрешении viewport’а и почти сливаются с фоном в «честном» 4К.

TAA DLSS TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %
TAA DLSS TAA, разр-е 67 %

Но самую большую разницу между TAA и DLSS обнаруживают кадры в динамике. В движущемся изображении TAA вызывает сильнейший муар на текстурах с повторяющимся рисунком, «лесенки» и грубые артефакты на краях полигонов. На кадрах с DLSS ничего подобного нет.

TAA (статика) DLSS (статика) TAA, разр-е 67 % (статика)
TAA (статика) DLSS (статика) TAA, разр-е 67 % (статика)
TAA (статика) DLSS (статика) TAA, разр-е 67 % (статика)
TAA (в движении) DLSS (в движении)

TAA, разр-е 67 % (в движении)

TAA (в движении) DLSS (в движении) TAA, разр-е 67 % (в движении)
TAA (в движении) DLSS (в движении) TAA, разр-е 67 % (в движении)

Прим.: все скриншоты сделаны с отключенным размытием в движении (Motion Blur).

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями: