NVIDIA Deep Learning Super Sampling (DLSS) — это передовая технология масштабирования изображения, разработанная компанией NVIDIA. Она позволяет существенно увеличить игровую производительность без заметных потерь в качестве.
Впервые представленная в 2019 году, DLSS стала пионером в области подобных технологий. На сегодняшний день актуальной версией является DLSS 3.5. В этом материале мы подробно рассмотрим, как работают разные поколения «умного» масштабирования NVIDIA и в чем их различия.
Почему возникла необходимость в технологии масштабирования?
Ключевой причиной создания DLSS стало внедрение в игры технологии трассировки лучей. Первые видеокарты с ее поддержкой были выпущены компанией NVIDIA — это RTX 2000 серии. Однако уже на этапе разработки стало ясно, что одной только производительности для полноценной трассировки не достаточно. Поэтому была разработана технология суперсэмплинга глубокого обучения (Deep Learning Super Sampling, DLSS). Её целью было увеличение скорости смены кадров без заметного снижения качества.
DLSS 1.x
Первая версия DLSS была представлена вместе с картами RTX 2000 в сентябре 2018 года. Картинка в этой версии формируется следующим образом:
- Для каждой игры разрабатывается свой уникальный алгоритм восстановления деталей. Это осуществляется на серверах компании NVIDIA, где сначала рендерится множество кадров из разных сцен в разрешении 16К. Затем выбранные кадры уменьшаются до 4К с помощью технологии избыточной выборки (SSAA). На основе этих изображений обучается автономная нейросеть.
- Когда игра запускается на компьютере пользователя, рендеринг 3D-сцены происходит в более низком разрешении, чем у экрана.
- Картинка растягивается до целевого разрешения.
- На основе ранее изученных высококачественных изображений нейросеть дорисовывает недостающие детали на растянутой картинке.
Теоретически, нейросеть для работы DLSS можно запустить на любых вычислительных устройствах, включая универсальные шейдерные процессоры видеокарты. Однако NVIDIA не стала отнимать их ресурсы и выбрала другой подход: запуск на выделенных тензорных ядрах. Поэтому эта закрытая технология совместима только с картами серии NVIDIA RTX, у которых такие ядра имеются.
DLSS первой версии не отличалась высоким качеством. Все операции по восстановлению исходного разрешения картинки выполнялись нейросетью, возможности которой были ограничены эталонным набором изображений. Хотя качество было выше, чем при обычном масштабировании, на практике это было заметно не всегда.
Для каждой игры требовалось значительное время для обучения отдельной нейросети. Из-за этого поддержку DLSS первого поколения получили только крупные проекты, такие как Battlefield V, Metro Exodus и Control. При этом существовали определенные ограничения на включение технологии. Например, в Battlefield V изначально технологию можно было активировать только при активной трассировке лучей и определенных разрешениях экрана.
DLSS 2.x
Как и многие другие технологии, DLSS не сразу стала полностью функциональной. Настоящий прорыв она совершила только во втором поколении, анонсированном в апреле 2020 года. Вот как работает DLSS 2:
- В основе лежит универсальная нейросеть, которая прошла обучение на серверах NVIDIA с использованием множества игровых проектов.
- При запуске на компьютере рендеринг кадра 3D-сцены происходит в более низком разрешении, чем требуется для экрана.
- На основе векторов движения рассчитывается, насколько следующий кадр смещен относительно предыдущего и чем он от него отличается.
- Следующий кадр рендерится со сдвигом по отношению к предыдущему.
- Временная информация из нескольких кадров совмещается, создавая «склеивающуюся» картинку.
- Универсальная нейросеть дорисовывает недостающие детали на итоговом изображении.
Эти новые приемы значительно улучшили качество картинки. Во-первых, базовое изображение теперь формируется на основе временной информации из нескольких кадров, что напоминает сглаживание TAA. Однако, в отличие от TAA, DLSS 2 использует кадры уменьшенного разрешения. Во-вторых, универсальная нейросеть стала более точной и аккуратной в дорисовке мелких деталей, иногда даже превосходя рендер нативного разрешения.
Благодаря нескольким пресетам, которые отличаются исходным разрешением рендеринга, стало возможным гибко балансировать между качеством изображения и производительностью. Однако, наряду с улучшениями, появилась главная проблема, характерная для всех технологий временного масштабирования — гостинг. Он проявляется при быстром движении в виде остаточных силуэтов с прошлых кадров, а иногда также возникает мерцание текстур.
Со временем недостатки DLSS второго поколения стали менее заметными. Ее алгоритм мог дорабатываться без значительных изменений в принципе работы, и это было главным преимуществом. В 2020 году появилась DLSS 2.1, которая принесла режим сверхвысокой производительности за счет значительного снижения разрешения рендера. В 2021 году на смену ей пришли DLSS версий 2.2 и 2.3, которые улучшили качество в движении. И, наконец, в 2022 году появились DLSS версий 2.4 и 2.5, с помощью которых стало меньше проявляться мерцание и гостинг.
DLSS 3.0
В сентябре 2022 года NVIDIA выпустила видеокарты серии RTX 4000, а вместе с ними и третье поколение технологии масштабирования — DLSS 3. Однако называть ее просто DLSS не совсем верно. Теперь она не только улучшает качество изображения, но и генерирует промежуточные кадры, что значительно повышает производительность.
Конвейер DLSS 3 может работать параллельно с DLSS 2, добавляя к уже знакомым этапам новые:
- Анализ направления и скорости движения точек между двумя отрендеренными кадрами.
- Сопоставление этих данных с векторами движения, что позволяет избежать ошибок в расчетах.
- На основе полученной информации нейросеть генерирует и вставляет промежуточный кадр между двумя исходными.
Скорость и направление движения точек анализирует специальный блок в видеокарте — оптический поток. В видеокартах RTX 4000 его производительность значительно возросла по сравнению с предыдущими поколениями. Он способен работать с блоками размером 1x1 пиксель, что позволяет обрабатывать отдельные точки. Карты RTX 2000 и RTX 3000 не обладают такой возможностью, поэтому Frame Generation на них не поддерживается.
Генерация кадров имеет как преимущества, так и недостатки. Одним из главных преимуществ является то, что она не требует высокой производительности процессора, так как промежуточный кадр создается только видеокартой. Кроме того, производительность может быть увеличена почти в два раза без необходимости снижения разрешения рендера.
Однако есть и недостатки. При быстром движении информации от двух исходных кадров часто бывает недостаточно для правильной генерации промежуточного, что может приводить к возникновению артефактов. Кроме того, из-за того, что игровая логика продолжает работать на частоте рендера, возникает дополнительная задержка ввода. Хотя NVIDIA старается компенсировать эту задержку с помощью технологии Reflex, синхронизируя работу ЦП и ГП, это решение лишь частично решает проблему.
DLSS 3.5
В августе 2023 года компания NVIDIA анонсировала DLSS 3.5 — новую версию своей технологии, которая не является продолжением классической DLSS, как можно было бы предположить, а скорее представляет собой дополнение. Ее главной особенностью является Ray Reconstruction — технология, созданная для подавления шумов, возникающих при трассировке лучей. Благодаря этой реконструкции, кадры с трассированными отражениями, тенями и освещением восстанавливаются с заметной точностью, превосходящей предыдущие версии.
По словам NVIDIA, нейросеть, используемая для Ray Reconstruction, была обучена на впятеро большем объеме данных по сравнению с предыдущими версиями DLSS. Важно отметить, что в отличие от генератора кадров, эта технология доступна на всех картах семейства RTX — от 2000 до 4000 серии.
Выход DLSS 3.5 внес некоторую путаницу в ранее логичный список версий. С появлением этой версии NVIDIA стала называть классический DLSS 2 как DLSS Super Resolution, а DLSS 3 — как DLSS Frame Generation. В последних играх можно встретить ползунки для включения этих технологий именно под такими названиями. Сама же DLSS 3.5 чаще упоминается как DLSS Ray Reconstruction.
Несмотря на общее название, каждая из следующих технологий DLSS работает независимо от других:
- DLSS Super Resolution (2.x): Временное масштабирование. Эта технология поддерживается на всех картах RTX в широком спектре проектов, начиная с самых первых игр с поддержкой DLSS и заканчивая самыми современными.
- DLSS Frame Generation (3.0): Генерация кадров. Эта технология доступна только на картах серии RTX 4000, а список поддерживаемых проектов с ней меньше. Большинство из них были выпущены за последние пару лет.
- DLSS Ray Reconstruction (3.5): Реконструкция лучей. Эта технология также поддерживается на всех картах RTX, но пока не получила широкого распространения в играх. На ноябрь 2024 года среди поддерживаемых игр можно выделить Cyberpunk 2077, Alan Wake 2, Portal RTX и Star Wars Outlaws. Стоит отметить, что новые алгоритмы восстановления картинки работают только при включении трассировки лучей — для классического рендеринга используются только приемы из DLSSx.
Прирост производительности
Различные поколения технологии демонстрируют разный уровень прироста производительности. Наиболее скромные результаты демонстрирует DLSS первой версии, поскольку разрешение рендеринга у неё фиксированное и довольно высокое. В самом сложном разрешении 4K от неё можно было ожидать 30-40% дополнительной производительности.
Однако даже при таких показателях качество изображения не всегда было на высоком уровне. Поэтому вскоре первая версия была вытеснена DLSS 2. У второго поколения появилось несколько пресетов, прирост от которых может варьироваться от нескольких десятков процентов до двукратного. Как и у конкурирующей FSR 2.x, результаты могут различаться в зависимости от разрешения.
Чем выше разрешение, тем больше возможностей графического процессора задействовано, и тем больший прирост производительности может обеспечить DLSS. И наоборот, при меньшем разрешении экрана прирост может быть менее заметным. Если для 4K с пресетом Performance характерен практически двукратный прирост, то в разрешении Full HD при тех же условиях он может быть заметно меньше. Старшие пресеты Balanced и Quality обеспечивают на 20-30% меньше производительности, но взамен предлагают более высокое качество картинки.
DLSS 3 с генерацией кадров способна увеличить производительность ещё вдвое. По сравнению с классическим рендером, комбинация DLSS Super Resolution (2.x) и DLSS Frame Generation (3.0) может увеличить частоту кадров до четырёх раз. А при использовании тяжёлых пресетов трассировки лучей или трассировки пути иногда даже больше.
Однако стоит помнить, что Frame Generation вносит задержку в управление. Если исходная частота ниже 35-40 кадров в секунду, в том числе полученная с помощью DLSS Super Resolution, использование генератора не будет полезно для игрового процесса. Несмотря на кажущийся высокий FPS, управление будет «кисельным», что помешает комфортному игровому процессу.
DLSS Ray Reconstruction (3.5) сама по себе не повышает производительность, а лишь улучшает качество эффектов трассировки при использовании DLSS Super Resolution (2.x) и DLSS Frame Generation (3.0). Однако оптимизации, применяемые в ней, в некоторых ситуациях могут слегка повысить FPS.
Заключение
Deep Learning Super Sampling (DLSS) — это семейство технологий, разработанное компанией NVIDIA для улучшения производительности в играх. Благодаря закрытым разработкам и адаптации к собственному оборудованию, DLSS предлагает более высокое качество изображения по сравнению с конкурирующими технологиями AMD FSR и Intel XeSS. Однако у этой технологии есть существенный недостаток: она доступна только на видеокартах NVIDIA.
Доминирование NVIDIA на рынке видеокарт и тесные связи с игровыми разработчиками привели к тому, что DLSS стала самой распространенной технологией масштабирования.
Первая версия DLSS не отличалась высоким качеством и была скорее экспериментом. Однако вторая версия, известная как DLSS Super Resolution, стала эталоном масштабирования и до сих пор используется во многих играх как универсальный инструмент для повышения производительности.
DLSS 3 Frame Generation обеспечивает еще более высокую частоту кадров, но при этом увеличивает задержку, что не всем игрокам может понравиться. И наконец, DLSS 3.5 Ray Reconstruction — это дополнение к технологиям повышения производительности, разработанное для совместной работы с ними, что позволяет более качественно передавать эффекты трассировки лучей.