Как работает DLSS 3 от Nvidia (и почему AMD FSR пока не может догнать)
Видеокарты Nvidia серии RTX 40 поступят в продажу через несколько коротких недель, но среди всех аппаратных улучшений есть то, что может стать золотым яйцом Nvidia: DLSS 3 . Это гораздо больше, чем просто обновление популярной функции Nvidia DLSS (Deep Learning Super Sampling), и в конечном итоге она может определить следующее поколение Nvidia гораздо больше, чем сами видеокарты.
AMD усердно работала над тем, чтобы получить разрешение FidelityFX Super Resolution (FSR) наравне с DLSS, и в течение последних нескольких месяцев это удавалось. Похоже, что DLSS 3 изменит эту динамику — и на этот раз FSR, возможно, не сможет наверстать упущенное в ближайшее время.
Как работает DLSS 3 (и как не работает)
Вам простительно думать, что DLSS 3 — это совершенно новая версия DLSS , но это не так. Или, по крайней мере, это не совсем новое. В основе DLSS 3 лежит та же технология сверхвысокого разрешения, которая сегодня доступна в играх DLSS, и Nvidia, по-видимому, продолжит улучшать ее в новых версиях. Nvidia говорит, что теперь вы увидите часть сверхвысокого разрешения DLSS 3 в качестве отдельной опции в настройках графики.
Новая часть — генерация кадров. DLSS 3 будет генерировать совершенно уникальный кадр каждый второй кадр, по сути генерируя семь из каждых восьми пикселей, которые вы видите. Вы можете увидеть иллюстрацию этого на блок-схеме ниже. В случае 4K ваш графический процессор отображает пиксели только для 1080p и использует эту информацию не только для текущего кадра, но и для следующего кадра.
Генерация кадров, по словам Nvidia, будет отдельным переключателем сверхвысокого разрешения. Это связано с тем, что пока генерация кадров работает только на графических процессорах RTX 40-й серии, в то время как суперразрешение будет продолжать работать на всех видеокартах RTX, даже в играх, обновленных до DLSS 3. Само собой разумеется, но если половина вашего кадры полностью генерируются, что значительно повысит вашу производительность .
Однако генерация кадров — это не просто какой-то секретный соус ИИ. В DLSS 2 и таких инструментах, как FSR , векторы движения являются ключевыми входными данными для масштабирования. Они описывают, где объекты перемещаются из одного кадра в другой, но векторы движения применяются только к геометрии в сцене. Элементы, не имеющие трехмерной геометрии, такие как тени, отражения и частицы, традиционно маскируются в процессе масштабирования, чтобы избежать визуальных артефактов.
Маскировка невозможна, когда ИИ генерирует совершенно уникальный кадр, и именно здесь в игру вступает ускоритель оптического потока в графических процессорах RTX 40-й серии. Это похоже на вектор движения, за исключением того, что видеокарта отслеживает движение отдельных пикселей от одного кадра к другому. Это поле оптического потока, наряду с векторами движения, глубиной и цветом, вносит свой вклад в кадр, сгенерированный ИИ.
Звучит как все плюсы, но есть большая проблема с кадрами, генерируемыми ИИ: они увеличивают задержку. Кадр, сгенерированный ИИ, никогда не проходит через ваш ПК — это «фальшивый» кадр, поэтому вы не увидите его на традиционных показаниях fps в играх или таких инструментах, как FRAPS. Таким образом, задержка не уменьшается, несмотря на наличие большого количества дополнительных кадров, а из-за вычислительных издержек оптического потока задержка фактически увеличивается. Из-за этого DLSS 3 требует, чтобы Nvidia Reflex компенсировала более высокую задержку.
Обычно ваш процессор сохраняет очередь рендеринга для вашей видеокарты, чтобы убедиться, что ваш графический процессор никогда не ждет выполнения работы (что может вызвать заикание и падение частоты кадров). Reflex удаляет очередь рендеринга и синхронизирует ваш GPU и CPU, так что, как только ваш CPU может отправлять инструкции, GPU начинает их обрабатывать. По словам Nvidia, при применении поверх DLSS 3 Reflex иногда может даже привести к уменьшению задержки.
Где ИИ имеет значение
AMD FSR 2.0 не использует ИИ, и, как я уже писал некоторое время назад, это доказывает, что вы можете получить такое же качество, как DLSS , с помощью алгоритмов вместо машинного обучения. DLSS 3 меняет это благодаря своим уникальным возможностям генерации кадров, а также внедрению оптического потока.
Оптический поток — не новая идея — он существует уже несколько десятилетий и находит применение во всем, от приложений для редактирования видео до беспилотных автомобилей. Однако расчет оптического потока с помощью машинного обучения является относительно новым из-за увеличения количества наборов данных для обучения моделей ИИ. Причина, по которой вы хотите использовать ИИ, проста: он производит меньше визуальных ошибок при достаточном обучении и не требует больших накладных расходов во время выполнения.
DLSS выполняется во время выполнения. Можно разработать алгоритм, свободный от машинного обучения, для оценки того, как каждый пиксель перемещается от одного кадра к другому, но это требует больших вычислительных ресурсов, что, в первую очередь, противоречит всей сути суперсэмплинга. С моделью ИИ, которая не требует большой мощности и достаточного количества обучающих данных — и будьте уверены, у Nvidia есть много обучающих данных для работы — вы можете добиться высокого качества оптического потока, который может выполняться во время выполнения.
Это приводит к улучшению частоты кадров даже в играх с ограниченным процессором. Суперсэмплинг применяется только к вашему разрешению, которое почти полностью зависит от вашего графического процессора. С новым кадром, который обходит обработку ЦП, DLSS 3 может удвоить частоту кадров в играх, даже если у вас есть полное узкое место ЦП . Это впечатляет и в настоящее время возможно только с ИИ.
Почему FSR 2.0 не может догнать (пока)
AMD действительно сделала невозможное с FSR 2.0. Это выглядит фантастически, и тот факт, что он не зависит от бренда, еще лучше. Я был готов отказаться от DLSS в пользу FSR 2.0 с тех пор, как впервые увидел его в Deathloop . Но как бы мне ни нравился FSR 2.0, и я считаю, что это отличный продукт от AMD, в ближайшее время он не догонит DLSS 3.
Во-первых, разработать алгоритм, который может отслеживать каждый пиксель между кадрами без артефактов, достаточно сложно, особенно в 3D-среде с высокой детализацией (яркий пример — Cyberpunk 2077 ). Можно, но тяжело. Однако большая проблема заключается в том, насколько раздутым должен быть этот алгоритм. Отслеживание каждого пикселя в 3D-пространстве, расчет оптического потока, генерация кадра и исправление любых сбоев, которые случаются по пути — это очень много.
Заставить его работать во время выполнения игры и по-прежнему обеспечивать улучшение частоты кадров на уровне FSR 2.0 или DLSS — это еще не все. Nvidia, даже с выделенными процессорами и обученной моделью, по-прежнему должна использовать Reflex, чтобы компенсировать более высокую задержку, вызванную оптическим потоком. Без этого аппаратного или программного обеспечения FSR, скорее всего, будет жертвовать слишком большой задержкой для генерации кадров.
Я не сомневаюсь, что AMD и другие разработчики в конце концов добьются этого или найдут другой способ решения проблемы, но это может произойти через несколько лет. Трудно сказать прямо сейчас.
Что легко сказать, так это то, что DLSS 3 выглядит очень интересно. Конечно, нам придется подождать, пока он не появится, чтобы подтвердить заявления Nvidia о производительности и посмотреть, как держится качество изображения. Пока что у нас есть только короткое видео от Digital Foundry, демонстрирующее кадры DLSS 3 (выше), которое я настоятельно рекомендую посмотреть, пока мы не увидим дальнейшее стороннее тестирование. Однако с нашей нынешней точки зрения DLSS 3, безусловно, выглядит многообещающе.
Эта статья является частью ReSpec — продолжающейся раз в две недели колонки, которая включает обсуждения, советы и подробные отчеты о технологиях, лежащих в основе компьютерных игр.