Что такое NVIDIA DLSS, как она повышает FPS и улучшает графику в играх — подробное объяснение

Недавно компания NVIDIA предоставила владельцам видеокарт GeForce RTX доступ к своей новой технологии Deep Learning Super Sampling (суперсэмплинг при помощи глубокого обучения). Она стала доступна для Metro Exodus и Battlefield 5 вслед за Final Fantasy XV: Windows Edition и 3DMark Port Royal. Многие игроки отметили, что картинка в двух новых шутерах при использовании DLSS размывалась. По факту, проблема актуальна лишь для статичных изображений, тогда как на практике в таких играх, как Battlefield V игрок редко долго остается неподвижным. Тем не менее, это побудило технического директора по глубокому обучению в NVIDIA Эндрю Эдельстена (Andrew Edelsten) прокомментировать наиболее волнующие сообщество вопросы. Основываясь на его ответах и информации из открытых источников, мы попытались разобраться, что вообще такое DLSS и как она работает.

Что такое DLSS?

Deep Learning Super Sampling (DLSS) — это технология NVIDIA, разработанная специально для видеокарт серии RTX. Упор делался именно на эту серию вследствие того, что видеокарты в ней оснащены высокопроизводительными тензорными ядрами, функционирующими в несколько раз быстрее стандартных CUDA ядер. Подобная производительность необходима для обработки изображений в играх с помощью нейронных сетей, но об этом чуть позже. Эта технология использует силы ИИ (искусственного интеллекта) для увеличения FPS (частоты кадров) и сглаживания картинки в играх во время сильных нагрузок на видеокарту. С DLSS игроки могут использовать более высокие разрешения и настройки, одновременно сохраняя достаточную частоту кадров.

Чтобы окончательно определиться с тем, что такое DLSS, нужно дословно разобрать само понятие Deep Learning Super Sampling. Итак, суперсэмплинг — это технология сглаживания, которая создаёт каждый кадр в разрешении большем чем разрешение монитора, после чего уменьшает его обратно. То есть количество пикселей в кадре увеличивается и таким образом технология помогает сгладить резкие контрастные переходы между пикселями разных объектов. Говоря проще, убирает «лесенку» на краях объектов, нежелательные шумы на текстурах в движении и прочие «шероховатости» изображения.

Пример работы суперсэмплинга. Конкретно, технологии NVIDIA DSR (Dynamic Super Resolution, в переводе динамическое суперразрешение)

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

Если немного упростить, то глубокое обучение — это множество вычислений, выполняющихся на мощном оборудовании в процессе, выполнение которого совершенствуется раз за разом. Система не учится в человеческом понимании этого слова, она просто становится лучше, снова и снова проделывая одни и те же действия.

Как работает DLSS?

Работает DLSS при помощи нейронной сети. Процесс её «обучения» происходит на суперкомпьютере. Сети подаются кадры игры без сглаживания. Эти кадры проходят обработку, и на выходе результат сравнивается с изображением, многкратно сглаженным суперсэмплингом. В течение многих повторений подбираются такие параметры нейронной сети, с которыми кадры без сглаживания после обработки становятся визуально неотличимыми от тех кадров, что были многократно сглажены суперсэмплингом. Когда такие параметры найдены, нейронная сеть считается обученной.

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

Эта технология с её выученными техниками улучшения изображения применяется и обновляется при помощи сервиса NGX. NGX — это пакет инструментов разработчика для интеграции алгоритмов глубокого обучения. Он позволяет разработчикам с легкостью интегрировать в приложения обученные нейронные сети для улучшения графики, редактирования фотографий и обработки видео.

Со стороны пользователя ничего не требуется, DLSS будет улучшаться автоматически путём обновления нейронной сети.

Изображение в разрешении 4К без сглаживания (слева), изображение в разрешении 4К с DLSS (справа).

Где лучше использовать DLSS? Почему технология недоступна для всех разрешений?

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

DLSS разработана для увеличения частоты кадров при высокой нагрузке на видеокарту. То есть когда кадровая частота остаётся низкой при полной загрузке видеокарты и отсутствии так называемых «ботлнеков», ситуаций, в которых один из компонентов системы не даёт другим компонентам раскрыть весь свой потенциал. Если ваша игра уже работает с высокой частотой, то время визуализации кадра вашей видеокартой может оказаться меньше, чем время выполнения DLSS. В этом случае DLSS не нужна, потому что она не увеличит частоту кадров. Тем не менее, если игра сильно нагружает видеокарту (FPS находится ниже отметки в 60 кадров в секунду), то DLSS обеспечит оптимальное повышение производительности. В этом случае можно повысить свои настройки графики, чтобы получить максимальную выгоду от DLSS.

Если говорить чуть более технически, DLSS требует фиксированного количества времени видеокарты на каждый кадр для обработки данных нейросетью. Таким образом, игры, которые работают с меньшей частотой кадров или в более высоком разрешении, получают больше преимуществ от DLSS. В случае же с играми, работающими с высокой кадровой частотой или в низком разрешении, DLSS может не справиться с улучшением производительности. Когда время визуализации кадров видеокартой меньше, чем требуется для выполнения модели DLSS, технология не работает. Она активируется лишь в случаях, когда может дать прирост производительности. Доступность DLSS зависит от игры, модели видеокарты и выбранного разрешения.

График кадровой частоты различных видеокарт серии RTX в 3DMark Port Royal с включенной и выключенной DLSS.

А что насчёт размывания кадров?

Края объектов с DLSS остаются четкими и резкими, но без ступенек, которые есть, когда сглаживание выключено. Само «размытие» происходит для очень мелких деталей текстур и заметно только при рассмотрении статичных скриншотов вблизи монитора. В высоких разрешениях с высокой плотностью пикселей, например, 4К на 27 дюймовом мониторе, с расстояния в 0,5-1 метр, при движении в игре эти мелкие детали невозможно различить.

Как уже указывалось выше, DLSS изначально создавалась для увеличения FPS при высокой нагрузке на видеокарту. И при разработке основной упор делался на высокие разрешения (когда нагрузка доходит до максимума), а 4K (3840×2160) является наиболее тяжёлым разрешением. Работа с 4K даёт больше преимуществ, когда речь идёт о качестве изображения, так как количество входных пикселей велико. Для 4K DLSS имеется 7,4 миллиона входящих пикселей, из которых можно сгенерировать окончательный кадр, в то время как для 1920×1080 имеется только около 1.84 миллионов пикселей. Чем меньше исходных данных, тем сложнее DLSS обнаруживать особенности исходного изображения и предсказывать окончательный кадр. То есть чем меньше разрешение, тем хуже работает DLSS.

NVIDIA знает о проблеме с размытием изображения на низких разрешениях и работает над её решением. Добавляется больше обучающих данных и новых методов для повышения качества. Обучение глубокой нейронной сети продолжается, и со временем она улучшится.

Изображение с выключенной DLSS (слева), изображение с включённой DLSS (справа).

Для каких ещё игр будет добавлена DLSS?

На данный момент, заявлено, что технология DLSS будет доступна ещё для следующих 25 игр:

Комментарии 3