Среди новых возможностей, которыми обладают видеокарты семейства GeForce RTX, первое место по праву занимает трассировка лучей в реальном времени. Но у чипов архитектуры Turing есть не менее важная функция — масштабирование изображения с помощью «искусственного интеллекта», которое позволяет снизить нагрузку на GPU и увеличить частоту смены кадров, причем в теории это должно происходить без видимых потерь в качестве изображения.
Когда NVIDIA представила первые модели GeForce RTX, о поддержке DLSS объявили не менее двадцати игровых проектов. В теории разработчикам проще внедрить в код графического движка этот метод, чем добавить трассировку лучей в реальном времени. Но пока только три игры продемонстрировали DLSS в деле — сперва Final Fantasy XV, затем Metro Exodus, а недавно и для Battlefield V вышел соответствующий патч. Кроме того, в 3DMark появился специализированный тест, который позволяет напрямую сравнить частоту смены кадров при рендеринге с DLSS и полноэкранном сглаживании по алгоритму TAA. Для каждого из этих приложений мы подробно проанализировали качество изображения и оценили быстродействие DLSS с различными настройками разрешения и трассировки лучей.
⇡#Что такое DLSS и как это работает
Перед тем как мы приступим к анализу качества и производительности DLSS, нужно пояснить, что же представляет собой новая инициатива NVIDIA и чем она ни в коем случае не является. Аббревиатура DLSS означает Deep Learning Super Sampling, то есть рендеринг с избыточной выборкой при помощи глубинного обучения, но это название может ввести в заблуждение, если не знать, как технология работает в действительности.
Задача DLSS состоит в том, чтобы взять изображение с условно низким разрешением и увеличить его до целевого размера (например, из 1440p в 2160p), но вместо простой аппроксимации цвета промежуточных пикселов GPU восстанавливает информацию, которая отсутствует в исходном кадре. Таким образом DLSS позволяет снизить нагрузку на графический процессор при рендеринге ресурсоемких сцен, особенно в сочетании с трассировкой лучей. В некотором смысле DLSS — это суперсемплинг наоборот: в то время как полноэкранное сглаживание методом SSAA заставляет GPU выполнить рендеринг с повышенным разрешением и потом сжимает исходный кадр, DLSS действует в противоположном направлении, увеличивая разрешение исходного кадра. Удаление лесенок с краев полигонов в данном случае является лишь побочным эффектом масштабирования картинки, а не основной задачей, как в SSAA и современных облегченных алгоритмах вроде вездесущего метода временнóго сглаживания TAA.
В основе DLSS лежит «искусственный интеллект» — нейронная сеть, которая обнаруживает паттерны внутри изображения и пытается воссоздать его в большем разрешении. Такой подход уже давно применятся для обработки статичных фотографий, но у подвижного видеоряда, тем более в различных играх, есть индивидуальная специфика. Поэтому для каждой игры нужно тренировать собственную вычислительную модель: в ходе множества итераций она пытается увеличить изображение таким образом, чтобы результат приблизился к «золотому стандарту» — кадру в целевом разрешении, который дополнительно облагорожен 64-кратным суперсемплингом. В этом вторая часть словосочетания Deep Learning Super Sampling соответствует действительности. Но кроме того, существует вариант технологии под названием DLSS 2x: здесь GPU сразу выполняет рендеринг в полном разрешении, а нейронная сеть нужна именно для полноэкранного сглаживания, которое в теории достигает качества, сравнимого с тем, что может предложить алгоритм SSAA 64x. Однако это пока задел на будущее — DLSS 2x еще не поддерживается ни в одной игре.
Тренировкой нейросетей для DLSS занимаются собственные серверы NVIDIA, и если судить по тому, как мало проектов на данный момент приобрели совместимость с новой технологией, это длительный процесс. Впрочем, чем больше игр с поддержкой DLSS выйдет в будущем, тем проще будет адаптировать нейросеть для новых, основываясь на прежних наработках.
С клиентской стороны DLSS опирается на тензорные ядра, которые появились в графических процессорах архитектуры Volta и Turing. Эти компоненты обладают высочайшей пропускной способностью в основном типе операций, которые применяются при обработке данных нейронными сетями (inference), — умножении-сложении матриц, состоящих из вещественных чисел сниженной разрядности (FP8 и FP16). Без тензорных ядер DLSS не имеет никакого смысла, иначе у GPU просто не хватит свободных ресурсов для рендеринга 3D-графики и одновременной работы нейросети. Поэтому DLSS — это эксклюзивная технология для ускорителей семейства GeForce RTX. Игровым видеокартам NVIDIA прошлого поколения на основе архитектуры Pascal такие возможности недоступны из-за чрезвычайно низкого быстродействия в расчетах FP16.
Впрочем, пользователю о тонкостях работы DLSS знать не обязательно. Нужно лишь своевременно обновлять игры и драйвер видеокарты, а свежие версии нейронных сетей ПО NVIDIA загружает самостоятельно — для этого даже не требуется утилита GeForce Experience, на которую производитель поначалу хотел возложить эту функцию.
⇡#Влияние DLSS на качество изображения
⇡#3DMark
Тест DLSS в составе 3DMark основан на бенчмарке Port Royal и задействует DXR для рендеринга освещения, теней и отражений. Но то, что Port Royal показывает на экране, имеет весьма отдаленное отношение к первым играм, которые освоили Ray Tracing. Ни в Battlefield V, ни в Metro Exodus нет настолько обильной трассировки лучей, а рендеринг такого изображения при играбельной частоте смены кадров с трудом дается даже GeForce RTX 2080 Ti.
Что касается DLSS, то повторяемая сцена обеспечивает идеальные условия для тренировки нейросети (впрочем, через какое-то время в тесте может появиться функция свободной камеры). Изображение, масштабированное при помощи DLSS, здесь выглядит не хуже, чем тот же кадр, честно прорисованный в целевом разрешении экрана, а во многих отношениях даже лучше. При рендеринге в нативном разрешении отдельные участки кадра сильно размыты — это особенно выражено в отражениях зеркальных поверхностей, где к тому же бросаются в глаза ступенчатые края полигонов. По всей видимости, 3DMark экономит количество лучей в этой чрезвычайно ресурсоемкой сцене и активно пользуется шумоподавлением, чтобы аппроксимировать цвет промежуточных пикселов. DLSS, в свою очередь, восстанавливает пропавшие детали, убирает «лесенки» и повышает локальный контраст.
На другом скриншоте можно увидеть, как 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) в этой сцене дает зернистую и грубую, зато не настолько размытую картинку.
На поверхностях с однородной текстурой мягкое размытие DLSS не бросается в глаза. О такой же четкости, как при рендеринге в нативном разрешении с TAA, по-прежнему не идет никакой речи, но уже можно рассуждать, что лучше — DLSS или масштабирование из разрешения 67 %. Однако во второй сцене Battlefield V можно заметить проблемы иного рода: DLSS удалило «лишние» детали пятен на броне танка (подходящая аналогия из инструментов фоторетуши — это Healing Brush в Photoshop). Зато по этому признаку видно, что DLSS — это не просто растянутая картинка низкого разрешения. Нейронная сеть пытается обнаружить паттерны в изображении, но иногда принимает ошибочные решения.
Лучше всего DLSS справляется с простыми контрастными текстурами и тонкой геометрией. В последнем случае нейросеть усиливает детали, которые полностью теряются при сниженном разрешении viewport’а и почти сливаются с фоном в «честном» 4К.
Но самую большую разницу между TAA и DLSS обнаруживают кадры в динамике. В движущемся изображении TAA вызывает сильнейший муар на текстурах с повторяющимся рисунком, «лесенки» и грубые артефакты на краях полигонов. На кадрах с DLSS ничего подобного нет.
|
|
|
|
TAA, разр-е 67 % (статика)
|
|
|
|
|
TAA, разр-е 67 % (статика)
|
|
|
|
|
TAA, разр-е 67 % (статика)
|
|
|
|
|
TAA, разр-е 67 % (в движении)
|
|
|
|
|
TAA, разр-е 67 % (в движении)
|
|
|
|
|
TAA, разр-е 67 % (в движении)
|
Прим.: все скриншоты сделаны с отключенным размытием в движении (Motion Blur).
⇡#Final Fantasy XV
Final Fantasy XV обзавелась поддержкой DLSS раньше остальных игр, а специальную версию бенчмарка с этой функцией мы получили еще к выходу GeForce RTX 2080 Ti, в августе прошлого года. У серверов NVIDIA было полно времени для оптимизации DLSS под Final Fantasy XV, и это заметно.
В отличие от Battlefield V, эталонное изображение для тренировки нейросети в Final Fantasy XV пропущено через фильтр четкости, усиливающий локальный контраст, — взгляните на лицо персонажа с первого кадра. Здесь же можно заметить не вполне удачную попытку DLSS восстановить детали отдаленного здания. Но в остальном статичная картинка мало отличается от рендеринга в нативном разрешении, а в иных случаях лучший результат дает именно DLSS — посмотрите на кабели ЛЭП в приближении.
В Final Fantasy XV тоже есть возможность уменьшить разрешение viewport’a, но игра даже не пытается облагородить растянутую картинку фильтром постобработки — ни в какое сравнение с DLSS этот способ повысить FPS не идет.
Впрочем, определенное снижение четкости по сравнению с рендерингом в полном разрешении на кадрах с DLSS все-таки есть. Кроме того, изменения локального контраста конфликтуют с Ambient Occlusion, размывая тени в углах и нишах. А вот сглаживание краев полигонов нейросеть выполняет с образцовым качеством.
Хотя DLSS в этой игре хорошо справляется со статичными кадрами (по крайней мере намного лучше, чем в Battlefield V), у нейросети есть проблемы с обработкой динамического изображения: такие объекты, как забор на автостоянке или оконные жалюзи, сильно размыты и постоянно мерцают. Зато нет никакого муара, как в случае с TAA или рендерингом в пониженном до 75 % разрешении viewport’a (установить масштаб в 67 %, эквивалентный разрешению 1440p, игра не позволяет).
|
|
|
|
TAA, разр-е 75 % (статика)
|
|
|
|
|
TAA, разр-е 75 % (статика)
|
|
|
|
|
TAA, разр-е 75 % (статика)
|
|
|
|
|
TAA, разр-е 75 % (в движении)
|
|
|
|
|
TAA, разр-е 75 % (в движении)
|
|
|
|
|
TAA, разр-е 75 % (в движении)
|
Прим.: все скриншоты сделаны с отключенным размытием в движении (Motion Blur).
⇡#Metro Exodus
В Metro Exodus с самого начала была поддержка DLSS, но в первую неделю после выхода игры эта функция была практически бесполезной из-за нечеткого и размытого изображения. NVIDIA еще работает над следующей версией нейросети для Metro Exodus, но уже вышло промежуточное обновление, которое повышает локальный контраст итоговой картинки за счет фильтра постобработки. Четкости DLSS по-прежнему недостает, но прогресс налицо, особенно в простых контрастных текстурах.
Metro Exodus не позволяет установить сниженное разрешение viewport’а, как Battlefield V и Final Fantasy XV. Вместо этого есть опция Shading Rate, которая регулирует размер выборки шейдеров на каждый пиксел кадра. Результат рендеринга с Shading Rate на уровне 70 % трудно отличить от DLSS: последний дает более контрастное изображение, но в плавных градиентах заметны пикселы исходного кадра, который нейросеть увеличивает до целевого размера.
Как и в предыдущих играх, DLSS хорошо справляется с рендерингом мелкой геометрии отдаленных объектов, которая при сниженной выборке шейдеров просто растворяется на фоне неба.
В динамике DLSS не обнаруживает никаких преимуществ перед TAA: временнóе полноэкранное сглаживание в Metro Exodus отличается высоким качеством и не вызывает таких артефактов, как в Battlefield V.
|
|
|
|
TAA, Shading Rate 70 % (статика)
|
|
|
|
|
TAA, Shading Rate 70 % (статика)
|
|
|
|
|
TAA, Shading Rate 70 % (в движении)
|
|
|
|
|
TAA, Shading Rate 70 % (в движении)
|
Прим.: все скриншоты сделаны с отключенным размытием в движении (Motion Blur).
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.