⇣ Содержание
|
Опрос
|
реклама
Самое интересное в новостях
Больше кадров — больше лага: тестирование латентности с генерацией кадров DLSS и FSR
Все время, пока существуют игровые видеокарты, мы знали одно окончательное мерило их потребительской ценности — FPS, кадровая частота. Но почему запросы покупателей пришли к тому, что 60 FPS считаются комфортной величиной, 30 FPS — терпимой, а для соревновательных игр — чем выше фреймрейт, тем лучше? Причина в том, что кадровая частота — это всего лишь опосредованный индикатор задержки между нажатием на клавишу и результатом на экране. Мало FPS, и говорят, что игра «тормозит» или «лагает». В то же время почти никто не жалуется на то, что фильмы — искусство, лишенное интерактивности, — по-прежнему снимают с кадровой частотой 24 FPS, да и в играх катсцены часто ограничивают фреймрейтом 30 FPS. Всесильные FPS решают судьбу видеокарт на рынке. В компьютерном журнале напишут, что «зеленый» флагман в этот раз на 5 % FPS быстрее «красного» и дадут ему медаль, а «красный» поругают. Однако с тех пор, как появилась так называемая генерация кадров, кадровая частота уже не так тесно связана со своим практическим значением. Давайте проверим, что же на самом деле происходит с задержкой реакции на ввод, когда работает генерация кадров, а фреймрейт чудесным образом увеличивается в несколько раз. ⇡#В чем проблема с генерацией кадровНесмотря на всю сложность вычислений, которые выполняют «под капотом» алгоритмы DLSS, FSR и XeSS, в основе генерации кадров лежат простые идеи. Рендеринг отдельного кадра игры занимает существенное время работы центрального и графического процессоров, которое в конечном счете и определяет частоту смены кадров. А что если выполнить честный рендеринг двух последовательных кадров, сравнить их между собой и интерполировать промежуточный результат? Подобным образом действует функция вставки промежуточных кадров в видеоряд, которая есть у всех современных телевизоров. Только GPU, в отличие от ASIC телевизора, оперирует более разносторонним набором данных — таких, как векторы движения внутри графического движка. Заострим внимание на том, что генерация кадров, независимо от особенностей каждой проприетарной технологии, опирается именно на интерполяцию, а не экстраполяцию, а значит сгенерированный DLSS, FSR или XeSS кадр отражает состояние движущихся объектов в промежутке между двумя кадрами, которые только что прошли весь конвейер рендеринга. Как следствие, наблюдаемый рост фреймрейта (а он может быть и многократным, если речь идет о генерации нескольких кадров подряд) уже никак не характеризует такое свойство игры, как отзывчивость. Более того, весь ряд кадров необходимо выводить на экран с задержкой на один «честный» кадр, что явно демонстрирует диаграмма конвейера FSR 3. Нашумевшая цитата Дженсена Хуанга о том, что DLSS в режиме генерации будто бы предсказывает будущее, не соответствует действительности. С натяжкой так можно было бы охарактеризовать вспомогательную технологию Reflex 2, которая дебютировала вместе с DLSS 4 и использует прием Frame Warp: сразу перед отправкой на монитор кадр меняется в зависимости от последнего перемещения мыши. Однако, насколько нам известно, ни в одной коммерческой игре вторая версия Reflex так и не была использована. Как бы то ни было, даже если представить, что интерполирующая генерация кадров сама по себе не требует никаких вычислительных ресурсов, эта технология неизбежно влечет за собой рост времени реакции игры на действия игрока. Однако, будь то алгоритмическое решение (как FSR 3) или нейросеть (FSR 4, XeSS и все версии DLSS), генерация отнимает какую-то долю циклов GPU от рендеринга «настоящих» кадров, что приводит к еще большим задержкам. Ключевой вопрос — насколько велика цена генерации кадров, выраженная в миллисекундах лага. А чтобы ответить на него, у нас есть средства аппаратного измерения латентности по золотому стандарту — от клика до фотона. ⇡#Тестовый стенд, методика тестирования
Среди массы игр, которые поддерживают генерацию кадров, мы выбрали четыре тайтла, объединенные общим признаком — на платформе AMD они нативно используют для FG технологию FSR 4 (или позволяют форсировать ее через настройки драйвера), которая, в отличие от прошлых версий, опирается на нейросеть. В то же время все из тестовых игр совместимы с пакетом DLSS 4 от NVIDIA, включая генерацию множественных кадров — как минимум на уровне 4х или с возможностью форсировать режим 6х через программу NVIDIA App. Тестирование выполнено на ускорителях GeForce RTX 5070 Ti и Radeon RX 9070 XT, которые обладают очень схожей производительностью в растеризованных играх и играх с гибридным рендерингом, а настройки игр подобраны таким образом, чтобы охватить широкий диапазон базовой (без генерации кадров) кадровой частоты — от фреймрейта чуть ниже 30 FPS до сотен FPS.
Реализовать задумку статьи было бы невозможно без устройства под названием LDAT, которое было создано инженерами NVIDIA в 2020 году — задолго до того, как функция генерации кадров вошла в состав DLSS. LDAT представляет собой оптический датчик и модифицированную мышь под управлением микроконтроллера и специализированного ПО. Принцип действия прибора состоит в том, что оптический датчик фиксируется в нужной точке монитора, а микроконтроллер регистрирует время, которое прошло между нажатием левой кнопки мыши и изменением точечной яркости экрана. Это и есть латентность от клика до фотона. Программное обеспечение LDAT было запущено на отдельном хосте, к которому был подключен и микроконтроллер. А значит, процедура измерения никаким образом не влияет на тестовую систему. Идеальными тестовыми играми для LDAT являются шутеры с видом от первого лица, где в ответ на нажатие ЛКМ возникает короткая и яркая анимация дульной вспышки. Впрочем, даже анимация выстрела в шутерах занимает определенное число последовательных кадров, а если использовать в качестве визуального триггера другие действия (например, прыжок в играх от третьего лица), то еще больше. Поэтому важно учитывать, что абсолютные величины латентности, полученные с помощью LDAT, не имеют смысла сами по себе: изображение могло и раньше как-то отреагировать на ввод, но анимация позже дошла до точки, в которой находится датчик. Задача работы иная — оценить, как изменяется латентность от клика до фотона под влиянием генерации кадров в каждой из тестовых игр. Другими независимыми переменными стало разрешение экрана и платформа GPU, а значит технология DLSS либо FSR. Монитор тестового стенда работал с частотой обновления 240 Гц без вертикальной синхронизации и динамического управления частотой обновления (FreeSync или G-Sync). При каждой комбинации независимых переменных было получено 50 (после исключения статистических выбросов) замеров латентности в одной и той же сцене игры с одним и тем же положением датчика LDAT. Кроме того, программными средствами регистрировалась частота смены кадров. Обработка полученных данных проходила в два этапа для каждой комбинации игры, марки GPU и разрешения экрана. На первом этапе мы проверили гипотезу о том, что включение генерации кадров (без MFG) влечет за собой статистически значимый прирост латентности, с помощью однонаправленного U-критерия. На втором этапе была построена модель линейной регрессии, где независимой переменной является длина цепочки сгененерированных нейросетью кадров (MFG), а зависимой — латентность от клика до фотона. Само собой, второй этап актуален только для DLSS, ведь соответствующая функция еще не реализована в FSR. ⇡#РезультатыBattlefield 6 (DLSS) В силу того, что последняя серия Battlefield лишилась трассировки лучей, тестовый ускоритель GeForce RTX 5070 Ti развивает высокий фреймрейт без апскейлинга и генерации кадров — 150 и 107 FPS в условно низких разрешениях и почти 60 FPS в 4К. Кроме того, шутеры от первого лица лучше всего подходят для замеров латентности аппаратным методом благодаря коротким цепочкам анимации выстрелов. Как следствие, Battlefield 6 продемонстрировала низкие величины базовой латентности по сравнению с другими тайтлами — медиана равна 23,4, 27,8 и 40,5 мс в зависимости от разрешения. Генерация одного кадра с помощью DLSS увеличивает медианную латентность на 6,4 и 8,8 мс соответственно при разрешении 1080p и 1440p, а в 4К — уже на 17 мс. Во всех трех случаях разница является статистически значимой с большой величиной эффекта (r ≥ 0,78). По мере того как число сгенерированных ИИ кадров увеличивается от 1 до 3, латентность возрастает линейно, а цена каждого следующего кадра оценивается в 1,73, 2,32 и 5,37 мс соответственно при том или ином разрешении экрана. Однако модели линейной регрессии в данном случае имеют низкий коэффициент детерминации (r2 ≤ 0,17). Говоря простым языком, если генерация кадров включена, задержка реакции игры на ввод уже мало зависит от того, сколько именно кадров подряд генерирует нейросеть. ![]()
![]()
![]()
Battlefield 6 (FSR) Radeon RX 9070 XT выдает сопоставимые с конкурентом значения базовой кадровой частоты (132, 101 и 58 FPS) и медианной латентности (26, 28,8 и 43,2 мс) при разрешениях экрана от 1080p до 4К. Парадоксально, но генерация кадров с помощью нейросети FSR 4 приводит к максимальному росту латентности в режиме 1080p — на 17,5 мс, — в то время как при разрешениях 1440p и 4К медианная задержка увеличилась лишь на 10,7 и 13,4 мс соответственно. Во всех трех случаях изменение латентности является статистически значимым с большой величиной эффекта (r ≥ 0,69). ![]()
![]()
![]()
Cyberpunk 2077 (DLSS) Cyberpunk 2077 — еще одна игра, которая хорошо сочетается с нашей тестовой методологией благодаря коротким анимациям выстрелов. Но, в отличие от Battlefield 6, графика Cyberpunk 2077 с трассировкой лучей не позволяет рассчитывать на высокую кадровую частоту в 4К — всего 34 FPS. В свою очередь, низкие разрешения сопровождаются фреймрейтом 106 и 66 FPS соответственно. Медианная латентность в трех режимах составляет 29,9, 38,1 и 61,5 мс. Когда задействована генерация кадров с помощью DLSS, эти значения увеличиваются на 8,2, 14,5 и 28,9 мс. Разница является статистически значимой с большой величиной эффекта (r ≥ 0,81). Приложение NVIDIA App позволяет форсировать длину серии сгенерированных нейросетью кадров в Cyberpunk 2077 — вплоть до пяти. Зависимость между настройкой FG и наблюдаемой латентностью имеет статистически значимый, но слабо выраженный (r2 ≤ 0,19) линейный характер, а цена каждого следующего сгенерированного кадра составляет 1,57, 2,02 и 3,63 мс в зависимости от разрешения экрана. ![]()
![]()
![]()
Cyberpunk 2077 (FSR) При тех же настройках графики Cyberpunk 2077 «красный» ускоритель Radeon RX 9070 XT развивает базовый фреймрейт 96, 59 и 28 FPS при трех разрешениях экрана. А вот соответствующие значения медианной латентности равны 37,5, 51,8 и 101,2 — куда выше, чем на платформе NVIDIA. В свою очередь, генерация кадров вызывает статистически значимый и большой (r ≥ 0,78) прирост латентности — на 8,4, 18,9 и 32,5 мс соответственно. ![]()
![]()
![]()
Hogwarts Legacy (DLSS) Hogwarts Legacy оказалась самой легкой из тестовых игр для ускорителей класса GeForce RTX 5070 Ti и Radeon RX 9070 XT, несмотря на трассировку лучей. Дело в том, что здесь нельзя включить генерацию кадров силами FSR в отрыве от масштабирования кадров, поэтому тесты на обеих платформах были выполнены с апскейлингом уровня Quality. Как следствие, фреймрейт при трех разрешениях экрана стартует с высоких отметок 264, 218 и 125 FPS, но это еще не гарантирует низкой латентности. Поскольку Hogwarts Legacy — не шутер от первого лица, нам пришлось использовать в качестве визуального триггера появление вспышки от заклинания, а главному герою сперва нужно взмахнуть волшебной палочкой. Отсюда большие и, что немаловажно, сопоставимые при трех разрешениях, медианные задержки в 66,4, 63,7 и 68 мс. Тесты в режиме 1080p принесли на первый взгляд парадоксальный результат: активация FG влияет на латентность, но с небольшим размером эффекта (r = 0,24), и медианное значение не увеличивается, а падает на 1,1 мс. Как бы то ни было, при разрешениях 1440p и 2160p мы получили ожидаемый рост медианной латентности на 5,9 и 9,5 мс с большим размером эффекта (r ≥ 0,81). Серию сгенерированных кадров в Cyberpunk 2077 также можно увеличить вплоть до пяти с помощью NVIDIA App. Зависимость между длиной серии и латентностью вновь статистически значима, но линейная регрессия имеет малый коэффициент детерминации (r2 ≤ 0,26). Цена каждого следующего сгенерированного кадра равна 0,92, 1,06 и 1,69 мс в зависимости от разрешения экрана. ![]()
![]()
![]()
Hogwarts Legacy (FSR) Radeon RX 9070 XT достиг базового фреймрейта в 270, 198 и 108 FPS. А вот поддержку генерации кадров FSR 4 в Hogwarts Legacy необходимо форсировать в настройках драйвера и, судя по всему, она здесь далеко не идеальна. В режимах 1080p и 1440p генерация кадров с помощью FSR обеспечивает куда меньший прирост кадровой частоты по сравнению с DLSS, а вот латентность при трех разрешениях увеличивается на 20,4, 23,3 и 24,7 мс соответственно. Опять-таки, разница статистически значима, а размер эффекта велик (r ≥ 0,86). ![]()
![]()
![]()
Black Myth: Wukong (DLSS) Наконец, Black Myth: Wukong является очень ресурсоемкой игрой даже без трассировки лучей: исходная кадровая частота на GeForce RTX 5070 Ti в трех тестовых режимах составляет лишь 90, 68 и 40 FPS соответственно. Кроме того, в Black Myth: Wukong оказалось труднее всего измерять латентность от клика до фотона из-за сложности анимаций главного героя. Медианные величины латентности равны 66,6, 68,8 и 83,3 мс в зависимости от разрешения экрана. Включение генерации кадров с помощью DLSS привело к ожидаемому росту латентности на 10,6, 7,4 и 22,1 мс, что является статистически значимым и большим (r ≥ 0,69) эффектом. А вот в диапазоне FG от 2x до 3x лишь при разрешении 1440p длина цепочки сгенерированных нейросетью кадров имеет слабую (r2 = 0,29), но статистически значимую положительную связь с латентностью. При этом каждый новый сгенерированный кадр оценивается в 4,2 мс задержки. При разрешении 1080p и 4К направление связи перевернуто, и это видно по графикам: самый «дорогой» режим с точки зрения латентности — FG 2x. ![]()
![]()
![]()
Black Myth: Wukong (FSR) Radeon RX 9070 XT развивает базовый фреймрейт 93, 68 и 38 FPS и соответствующую медианную латентность 64,7, 68,8 и 79,9 мс. А вот генерация кадров силами FSR 4 обойдется пользователям «красного» ускорителя в дополнительные 21,5, 28,4 и 61,3 мс лага, что даже по интуитивной оценке можно назвать худшим результатом с точки зрения игрового опыта. Результат статистически значим и имеет большой размер эффекта (r = 0,86). ![]()
![]()
![]()
⇡#ВыводыНаше исследование не претендует на широкий охват сценариев, в которых используется генерация кадров, да и само измерение латентности от клика до фотона в реальных играх имеет неустранимые ограничения. Но даже в таких условиях нам удалось выйти за пределы задачи-минимум — показать, что в условиях генерации кадров величина FPS теряет прежний смысл как индикатор отзывчивости игры. Хуже того, при всей вычислительной мощности современных GPU генерация кадров с помощью нейросети является достаточно обременительной задачей, чтобы латентность от клика до фотона увеличивалась, и порой счет идет на десятки миллисекунд. При этом намечается тенденция к тому, что чем ниже исходная кадровая частота, тем большим лагом придется заплатить за генерацию кадров. Что касается генерации множественных кадров с помощью DLSS четвертой версии, то оказалось, что «цена входа» в генерацию как таковую перевешивает доплату за каждый следующий кадр. Линейная связь между длиной цепочки сгенерированных кадров и латентностью существует, но она тонет в массе измерительного шума. Чтобы оценить полученные результаты качественно, нужно поднять вопрос: какую прибавку латентности способен заметить игрок и какие величины можно считать приемлемыми? Увы, это уже отдельная область исследований, которая выходит далеко за рамки данной статьи. Но вот вам пример в порядке вольной дискуссии: разница между частотой обновления экрана 60 и 120 Гц — всего лишь 8,33 мс, и ее видят все. А раз так, резонно предположить, что если генерация кадров в игре добавляет вдвое большую задержку к далеко не мизерной базовой латентности, то это тоже будет заметно. В таком случае на какой диапазон базовой частоты смены кадров следует ориентироваться, прежде чем включать генерацию кадров? Если судить по нашим данным, то все, что ниже 60 FPS, просто исключено, а практической рекомендацией можно считать 90–100 FPS. Но разве это и так не достаточно комфортный фреймрейт, чтобы рисковать лагом и появлением визуальных артефактов? Складывается впечатление, что у генерации кадров пока просто отсутствует идеальный сценарий применения, в котором преимущества технологии неоспоримо перевешивали бы ее издержки. Наконец, кадровая частота всегда на виду, а вот латентность от клика до фотона так просто не измеришь. Как следствие, никто не заметит скрытых огрехов реализации FG в отдельных играх — таких, как отрицательная связь между количеством сгенерированных кадров и латентностью в Black Myth: Wukong — или (порой громадную) разницу в латентности между DLSS и FSR. Разумеется, все это не помешает производителям GPU и дальше использовать величины фреймрейта, достигнутые с помощью генерации кадров, как мерило производительности в маркетинговых материалах. Но мы надеемся, что смогли напомнить читателям: игровые FPS, на которые испокон веку опирается сравнение видеокарт, ценятся именно за то, что косвенно говорят о латентности, а в противном случае бесполезны.
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
⇣ Комментарии
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Все комментарии премодерируются.