Новая статья: От клика до выстрела — аппаратное тестирование лага в играх
Игровые возможности компьютеров и отдельных компонентов системы испокон веков принято измерять в кадрах за секунду, а золотым стандартом тестирования являются длительные бенчмарки, которые позволяют сравнить различные устройства по устойчивому быстродействию. Тем не менее в последние годы на производительность GPU начали смотреть и под другим углом. В обзорах видеокарт появились графики длительности рендеринга отдельных кадров, во весь рост встал вопрос стабильности FPS, а средние показатели фреймрейта теперь принято сопровождать минимальными значениями, отфильтрованными по границе 99-го процентиля времени кадра. Усовершенствования тестовых методик направлены на поиск задержек, растворяющихся в усредненных показателях кадровой частоты, но порой вполне заметных невооруженным глазом пользователя.
Тем не менее любые программные измерительные инструменты, работающие внутри тестовой системы, дают лишь косвенную оценку скрытой переменной, которая имеет определяющее значение для комфортной игры, — времени задержки между нажатием на кнопку клавиатуры или мышки и изменением картинки на мониторе. Приходится руководствоваться простым правилом, которое гласит, что чем выше FPS в игре и чем он стабильнее, тем меньше будет время реакции на ввод. Тем более часть проблемы уже решили быстрые мониторы с частотой обновления 120, 144 или 240 Гц, не говоря уже о будущих 360-герцевых экранах.
Однако у геймеров, в особенности игроков в соревновательные многопользовательские игры, которые ищут в железе малейшее преимущество над соперниками и готовы собирать на заказ разогнанные компьютеры ради десятков лишних FPS в CS:GO, до сих пор не было возможности оценить задержку ввода напрямую. Ведь такие точные и трудоемкие методы, как съемка экрана высокоскоростной камерой, доступны лишь в лабораторных условиях.
Но теперь все изменится — встречайте LDAT (Latency Display Analysis Tool), универсальное аппаратное средство для измерения игровой латентности. Читатели, знакомые с такими аббревиатурами, как FCAT, могут догадаться, что это продукт NVIDIA. Так и есть, компания предложила устройство избранным IT-изданиям, включая редакцию 3DNews. Давайте посмотрим, сможет ли новая измерительная методика пролить свет на такое загадочное явление, как задержка ввода, и помочь геймерам с выбором комплектующих для киберспортивных соревнований.
Принцип работы LDAT очень прост. Ядром системы является высокоскоростной светочувствительный датчик с микроконтроллером, который монтируется в нужной точке экрана. К нему подключена модифицированная мышь, а управляющее ПО по интерфейсу USB засекает время, разделяющее нажатие на клавишу и локальный скачок яркости изображения. Таким образом, если поместить датчик поверх ствола оружия в каком-нибудь шутере, мы получим точное значение задержки, которая требуется монитору, компьютеру и всему программному стеку (включая драйверы устройств, игру и операционную систему), чтобы отреагировать на действия пользователя.
Прелесть такого подхода в том, что работа LDAT совершенно не зависит от того, какое железо и какие программы установлены на компьютере. Тот факт, что NVIDIA озаботилась производством очередного измерительного инструмента, который к тому же доступен только ограниченному кругу IT-журналистов, намекает на то, что компания стремится подчеркнуть преимущества собственных продуктов в сравнении с конкурентами (так уже произошло с FCAT несколько лет тому назад). Действительно, на рынке вот-вот появятся 360-Гц мониторы с поддержкой G-SYNC, а разработчики игр начнут применять библиотеки NVIDIA Reflex, направленные на сокращение латентности в играх под Direct3D 12. Тем не менее мы уверены, что сам LDAT не дает никаких поблажек «зеленым» видеокартам и не искажает результаты «красных», ведь никакого доступа к конфигурации подопытного железа у устройства нет, когда оно подключено USB-кабелем к другой машине, на которой запущено управляющее ПО.
Надо ли говорить, что в своей сфере применения LDAT открывает просто громадные перспективы. Сравнить между собой игровые мониторы (и даже телевизоры) с той или иной частотой обновления и матрицами разного типа, проверить, как на задержку влияют технологии адаптивной синхронизации G-SYNC и FreeSync, масштабирование кадра силами видеокарты или монитора — все это стало возможным. Но для начала мы решили сфокусироваться на более узкой задаче и проверить, как работают на видеокартах различных ценовых категорий несколько соревновательных игр, заточенных под высокий FPS и низкое время реакции. А если сформулировать задачу точнее, нас интересуют два главных вопроса: является ли избыточный фреймрейт гарантией низких задержек и в каких условиях наращивать его (а значит, покупать более мощную видеокарту) уже нет никакого смысла. В частности, полезно ли превышать кадровую частоту, соответствующую частоте обновления экрана, если вы счастливый обладатель скоростного 240-Гц монитора.
Для тестирования мы выбрали четыре популярных многопользовательских проекта — CS:GO, DOTA 2, Overwatch и Valorant, которые являются достаточно нетребовательными, чтобы современные GPU, включая бюджетные модели, могли развивать производительность на уровне сотен FPS. Вместе с тем перечисленные игры позволяют без особого труда организовать среду для надежного измерения времени реакции, когда важнее всего постоянные условия: одна и та же позиция персонажа, одно оружие в каждом тесте и т. д. По этой причине нам пришлось до поры до времени отложить бенчмарки в таких играх, как PlayerUnknown’s Battlegrounds и Fortnite. В PUBG просто нет возможности изолироваться от других игроков даже на тестовом полигоне, а Fortnite в однопользовательском режиме Battle Lab все равно не защищена от случайностей лута и, соответственно, делает невозможным тестирование нескольких видеокарт с одним и тем же оружием в разумные сроки.
Кроме того, достоинство избранных игр в том, что они работают под API Direct3D 11, который, в отличие от Direct3D 12, позволяет драйверу видеокарты задавать ограничения на очередь рендеринга кадров, которые центральный процессор может подготовить для рендеринга на GPU в программном графическом конвейере.
В стандартных условиях, особенно тогда, когда бутылочным горлышком системы являются вычислительные ресурсы видеокарты, очередь кадров увеличивается вплоть до трех по умолчанию или, если требует приложение, еще больше. Таким образом Direct3D обеспечивает непрерывную загрузку графического процессора и постоянный темп рендеринга. Но при этом возникает побочный эффект в виде задержки реакции на ввод, ведь API не позволяет выбросить из очереди заранее спланированные кадры. Именно на борьбу c лагом направлены соответствующие настройки в драйверах видеокарты, которые популяризировала AMD под маркой Radeon Anti-Lag, а затем у NVIDIA появилась аналогичная опция Low Latency Mode.
Тем не менее подобные меры не являются универсальным средством от задержек: к примеру, если быстродействие игры сдерживается возможностями центрального, а не графического процессора, короткая очередь кадров (или ее полное отсутствие) делает бутылочное горлышко CPU только уже. Вдобавок к остальной тестовой программе мы намерены выяснить, есть ли от «технологий» Radeon Anti-Lag и Low Latency Mode осязаемая польза, в каких именно играх и на каком железе.
Измерения кадровой частоты и времени реакции во всех играх были выполнены при максимальных или приближенных к максимальным настройках качества графики для того, чтобы а) акцентировать различия между сравниваемыми устройствами, б) получить результаты как при высокой кадровой частоте, превышающей частоту обновления экрана, так и наоборот. Специально для этой статьи мы позаимствовали быстрый монитор Samsung Odyssey 9 (C32G75TQSI) с разрешением WQHD и частотой обновления 240 Гц — максимальной для современных потребительских мониторов, пока в продаже еще не появились экраны стандарта 360 Гц. Технологии адаптивной частоты обновления (G-SYNC и FreeSync) были отключены.
Результаты каждого индивидуального теста (конкретная видеокарта в конкретной игре с антилаговой настрокой драйвера или без нее) получены на выборке из 50 измерений.
Прим. В скобках после названий видеокарт указаны базовая и boost-частота согласно спецификациям каждого устройства. Видеокарты нереференсного дизайна приведены в соответствие с референсными параметрами (или приближены к последним) при условии, что это можно сделать без ручной правки кривой тактовых частот. В противном случае (ускорители серии GeForce 16, а также GeForce RTX Founders Edition) используются настройки производителя.
Результаты испытаний в первой же игре, CS:GO, дали немало пищи для ума. Это самый легковесный проект во всей тестовой программе, где такие видеокарты, как GeForce RTX 2080 Ti, развивают частоту смены кадров за пределами 600 FPS и даже самые слабые из восьми участников тестирования (GeForce GTX 1650 SUPER и Radeon RX 590) держатся значительно выше частоты обновления монитора в 240 Гц. Тем не менее CS:GO отлично проиллюстрировал тезис о том, что наращивать FPS сверх частоты монитора совершенно не бесполезно для сокращения задержек. Если сравнить видеокарты верхней группы (GeForce RTX 2070 SUPER и выше, а также Radeon RX 5700 XT) с младшими моделями (GeForce GTX 1650 SUPER, GeForce GTX 1060, Radeon RX 5500 XT и Radeon RX 590), речь идет о полуторакратной разнице в общем времени, прошедшем от нажатия на клавишу мыши до появления вспышки на экране. В абсолютном значении выигрыш достигает 9,2 мс — на первый взгляд немного, но, к примеру, почти столько же дает смена частоты обновления экрана с 60 на 144 Гц (9,7 мс)!
Что касается того, как соотносятся по времени задержки видеокарты, принадлежащие к одной широкой ценовой категории, но основанные на чипах разных производителей, то в каждой группе мы не обнаружили значительных отличий. То же касается опций в драйверах ускорителя, призванных уменьшить лаг путем сокращения очереди кадров в Direct3D 11. На CS:GO (по крайней мере, в данных тестовых условиях) они, как правило, не оказывают полезного эффекта. В группе слабых видеокарт есть небольшой сдвиг времени реакции, но только у GeForce GTX 1650 SUPER он достиг статистической значимости по результатам.
Прим. Значками насыщенного цвета отмечены результаты со стандартными настройками драйвера. Бледными значками — с включенной опцией Low Latency Mode (значение Ultra) или Radeon Anti-Lag. Обратите внимание на вертикальную шкалу — она начинается выше нуля.
Counter-Strike: Global Offensive
По умолчанию
Low Latency Mode (Ultra) / Radeon Anti-Lag
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
GeForce RTX 2080 Ti
642
20,7
6,5
630
21
4,6
GeForce RTX 2070 SUPER
581
20,8
5
585
21,7
5,6
GeForce RTX 2060 SUPER
466
23,9
4,6
478
22,4
5,8
GeForce GTX 1650 SUPER
300
27,6
4,3
275
23,2
5,4
Radeon RX 5700 XT
545
20,4
5,8
554
21,5
4,4
Radeon RX 5500 XT
323
29,3
14
316
26,5
14,5
Radeon RX 590
293
29,3
5,8
294
27,5
4,9
GeForce GTX 1060 (6 Гбайт)
333
29,6
7,9
325
28,2
12,9
Прим. Красным выделены статистически значимые различия в среднем времени реакции (по t-критерию Стьюдента).
Хотя DOTA 2 тоже считается нетребовательной игрой по действующим стандартам, в ней современным видеокартам труднее набирать несколько сотен FPS. Так, все бюджетные решения, участвующие в сравнении, опустились ниже фреймрейта 240 кадров в секунду, соответствующего частоте обновления экрана. Мощные ускорители, начиная с Radeon RX 5700 XT и GeForce RTX 2060 SUPER, выдают здесь свыше 360 FPS, но, в отличие от CS:GO, DOTA 2 более эффективно направляет избыток быстродействия графического процессора на борьбу с лагом. В предыдущей игре достаточно видеокарты уровня Radeon RX 5700 XT, чтобы никакого смысла наращивать производительность дальше ради времени реакции уже не было. Здесь же задержка продолжает снижаться на более мощных видеокартах вплоть до GeForce RTX 2080 Ti.
Надо заметить, что именно к результатам Radeon RX 5700 XT в этой игре возникают вопросы. Действующий флагман AMD намного превосходит по времени задержки даже GeForce RTX 2060 и выступил ничем не лучше младших моделей, невзирая на более высокий фреймрейт. А вот сокращать очередь рендеринга кадров в DOTA 2 действительно полезно. Эффект не так велик, чтобы его заметили даже опытные кибератлеты, но он является статистически значимым для четырех видеокарт из восьми
Прим. Значками насыщенного цвета отмечены результаты со стандартными настройками драйвера. Бледными значками — с включенной опцией Low Latency Mode (значение Ultra) или Radeon Anti-Lag. Обратите внимание на вертикальную шкалу — она начинается выше нуля.
DOTA 2
По умолчанию
Low Latency Mode (Ultra) / Radeon Anti-Lag
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
GeForce RTX 2080 Ti
418
17,7
2
416
17,4
1,4
GeForce RTX 2070 SUPER
410
18,2
1,6
409
17,6
1,6
GeForce RTX 2060 SUPER
387
20,8
1,5
385
19,8
1,6
GeForce GTX 1650 SUPER
230
27,9
2,5
228
27,9
2,3
Radeon RX 5700 XT
360
26,3
1,5
363
25,2
1,3
Radeon RX 5500 XT
216
25,4
1,2
215
21,7
1,4
Radeon RX 590
224
25
1,4
228
21,8
1,3
GeForce GTX 1060 (6 Гбайт)
255
25,8
1,9
254
25,8
1,7
Прим. Красным выделены статистически значимые различия в среднем времени реакции (по t-критерию Стьюдента).
Overwatch — самая тяжелая из четверки тестовых игр при максимальном качестве графики с активированным полноэкранным сглаживанием. Неудивительно, что и каждый гигафлопс производительности GPU здесь идет на пользу времени реакции. Размах значений лага в Overwatch между такими видеокартами, как GeForce RTX 2080 Ti и Radeon RX 5500 XT, является двукратным. Числа говорят и о том, что более мощные видеокарты, чем GeForce RTX 2070 SUPER, только накручивают FPS, а вот ускорить реакцию уже не могут даже номинально. Но вот замена Radeon RX 5700 XT или GeForce RTX 2060 SUPER пресловутым RTX 2070 SUPER в теории имеет смысл для того, чтобы свести лаг к минимуму, сохранив высокое качество графики. Кроме того, в Overwatch опять с не самой лучшей стороны проявил себя один из ускорителей на «красных» чипах. На этот раз Radeon RX 5500 XT, который по среднему времени задержки реакции существенно превосходит все остальные бюджетные решения.
Overwatch в очередной раз помог доказать, что а) быстродействие видеокарты даже на высоких значениях фреймрейта еще как влияет на величину лага, б) формально более производительный GPU не гарантирует меньших задержек реакции на ввод. Кроме всего этого игра продемонстрировала эталонную работу антилаговых настроек графического драйвера. Если играть на относительно слабых видеокартах (GeForce GTX 1650 SUPER, GeForce GTX 1060, Radeon RX 5500 XT и Radeon 590), сокращенная очередь кадров может уменьшить лаг на величину от 9 до 17 %. Ну а для мощного железа она по-прежнему совершенно бесполезна.
Прим. Значками насыщенного цвета отмечены результаты со стандартными настройками драйвера. Бледными значками — с включенной опцией Low Latency Mode (значение Ultra) или Radeon Anti-Lag. Обратите внимание на вертикальную шкалу — она начинается выше нуля.
Overwatch
По умолчанию
Low Latency Mode (Ultra) / Radeon Anti-Lag
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
GeForce RTX 2080 Ti
282
35,6
10,4
300
34,2
9,6
GeForce RTX 2070 SUPER
225
35,8
5,1
228
36,7
8,6
GeForce RTX 2060 SUPER
198
41,2
6,4
195
38,8
9
GeForce GTX 1650 SUPER
116
58,2
8
115
51
8,7
Radeon RX 5700 XT
210
39,6
7,2
208
41,4
7,2
Radeon RX 5500 XT
120
69,7
13,2
120
63,5
15,1
Radeon RX 590
111
61,2
8,6
111
51,7
7,7
GeForce GTX 1060 (6 Гбайт)
121
60,7
8,7
118
50,7
6,5
Прим. Красным выделены статистически значимые различия в среднем времени реакции (по t-критерию Стьюдента).
Valorant выделилась среди тестовых игр превосходной — или, наоборот, посредственной — оптимизацией графики. Дело в том, что, вопреки громадной разнице в потенциальном быстродействии тестовых GPU по оценкам частоты смены кадров, все они сосредоточились в диапазоне от 231 до 309 FPS. И это при том, что мы намеренно выбрали для измерений латентности самую ресурсоемкую сцену, чтобы усилить ожидаемые различия. Тем не менее по распределению значений лага Valorant отчасти похож на CS:GO. В этой игре владельцы GeForce RTX 2060 SUPER или Radeon RX 5700 XT находятся в равных условиях с пользователями более дорогих и мощных ускорителей. Даже младшие видеокарты класса GeForce GTX 1650 SUPER и Radeon RX 5500 XT здесь не так уж сильно отстают от старших. При таких вводных данных не удивительно, что ограничивать очередь кадров Direct3D в Valorant бесполезно: соответствующие настройки имеют статистически значимый эффект для избранных видеокарт, но его величина совершенно мизерная.
Прим. Значками насыщенного цвета отмечены результаты со стандартными настройками драйвера. Бледными значками — с включенной опцией Low Latency Mode (значение Ultra) или Radeon Anti-Lag. Обратите внимание на вертикальную шкалу — она начинается выше нуля.
Valorant
По умолчанию
Low Latency Mode (Ultra) / Radeon Anti-Lag
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
Средняя частота смены кадров, FPS
Среднее время реакции, мс
Ст. отклонение времени реакции, мс
GeForce RTX 2080 Ti
309
19,3
2,6
306
20,2
3
GeForce RTX 2070 SUPER
293
19,2
3,1
289
19,5
2,9
GeForce RTX 2060 SUPER
308
20,7
2,7
310
19,6
2,9
GeForce GTX 1650 SUPER
251
24,5
2,9
243
23,6
2,5
Radeon RX 5700 XT
256
21,9
3,3
257
21,9
2,7
Radeon RX 5500 XT
258
23,5
2,8
262
22,8
2,6
Radeon RX 590
237
25,8
2,7
234
24,3
2,5
GeForce GTX 1060 (6 Гбайт)
269
23,5
2,8
268
23,4
4,4
Прим. Красным выделены статистически значимые различия в среднем времени реакции (по t-критерию Стьюдента).
Измерение задержки реакции в играх аппаратными средствами дало богатые результаты, которые, честно говоря, ставят под вопрос принятые в индустрии методы оценки быстродействия видеокарт, когда единственным измеряемым параметром уже не первый десяток лет остается частота смены кадров. Конечно, FPS и лаг тесно коррелируют между собой, но, по крайней мере в киберспортивных играх, когда идет борьба за каждую миллисекунду задержки, кадровая частота уже не позволяет дать исчерпывающее описание быстродействия.
В кратком исследовании популярных многопользовательских проектов мы обнаружили несколько любопытных феноменов. Во-первых, наши данные опровергают популярное мнение о том, что нет смысла накручивать FPS сверх значений, соответствующих частоте обновления экрана. Даже на очень быстром 240-Гц мониторе такие игры, как Counter-Strike: Global Offensive, позволяют уменьшить лаг в полтора раза за счет смены бюджетной видеокарты на топовую модель. Речь идет о таком же выигрыше по времени реакции, как, например, при переходе с экрана 60 Гц на 144 Гц.
С другой стороны, фреймрейт все-таки может быть избыточным, когда более мощная видеокарта только зря греет воздух и уже не помогает бороться с и без того чрезвычайно низкими задержками. Во всех тестовых играх при разрешении 1080p мы не нашли никакой значимой разницы между такими устройствами, как GeForce RTX 2070 SUPER и GeForce RTX 2080 Ti. Абсолютный минимум времени реакции, зарегистрированный нами, составляет 17,7 мс и был получен в DOTA 2. Это, между прочим, не такая уж скромная величина, которая, если переводить в частоту обновления, соответствует 57 герцам. Так что напрашивается следующий вывод: грядущие мониторы с частотой 360 Гц обязательно найдут применение в соревновательных играх — это прямой способ уменьшить лаг, когда компьютерное железо уже исчерпало свои возможности и упирается в ограничения толстого программного стека операционной системы, графического API, драйверов и самой игры.
Затем мы проверили, есть ли польза от программных средств борьбы с латентностью, которые пока сводятся к ограничению очереди рендеринга кадров в приложениях, опирающихся на графический API Direct3D 9 и 11, — пресловутых Radeon Anti-Lag в драйвере AMD и Low Latency Mode у NVIDIA. Как выяснилось, обе «технологии» действительно работают, но способны принести ощутимую пользу только в условиях, когда бутылочным горлышком системы является именно GPU, а не центральный процессор. В нашей тестовой системе с разогнанным процессором Intel Core i7-9900K такие средства помогли недорогим видеокартам средней категории производительности (Radeon RX 5500 XT, GeForce GTX 1650 SUPER и аналогичным по быстродействию ускорителям прошлого поколения), но совершенно бессмысленны, когда есть мощный GPU. Впрочем, когда антилаговые настройки работают, они могут быть чрезвычайно эффективны, уменьшая задержку в каком-нибудь Overwatch на величину вплоть до 10 мс, или 17% от исходной.
И наконец, были обнаружены определенные различия между графическими картами разных производителей, которые невозможно было предсказать по одной лишь кадровой частоте. Так, видеокарты AMD иной раз обеспечивают такую же короткую задержку, как формально более производительные «зеленые» устройства (пример: Radeon RX 5700 XT в CS:GO), а в других случаях работают подозрительно медленно (та же модель в DOTA 2). Не удивимся, что, если методики аппаратного измерения лага, подобные LDAT, получат широкое распространение, заядлые кибератлеты, которые борются за малейшее преимущество перед соперниками, начнут подбирать видеокарты под конкретную игру — в зависимости от того, какая модель обеспечивает наименьшее время реакции.
Но самое главное, благодаря LDAT у нас появилась возможность проводить более глубокие исследования времени задержки. То, что мы сделали в данном предварительном обзоре, — это лишь верхушка айсберга. За рамками пока остались такие темы, как влияние на лаг технологий адаптивной синхронизации (G-SYNC и FreeSync), ограничение FPS в игре, зависимость от производительности CPU и многое другое. Кроме того, мы собираемся выяснить, достижим ли высокий фреймрейт в сотни FPS и, соответственно, быстрая реакция на ввод не только в соревновательных играх, специально оптимизированных под эти критерии, но и в проектах класса ААА, нагружающих систему куда сильнее. А следовательно, нужен ли обычному геймеру, а не чемпиону, передовой монитор с частотой обновления 240 или даже 360 Гц? На эти вопросы мы ответим в будущих работах с применением LDAT.