Найти в Дзене
gamea-l

избовляемся от разрыва кадров и задержки ввода в играх

Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC
Если у вас уже есть современный игровой монитор с поддержкой переменной частоты обновления ( FreeSync или G-Sync ), то вам эта статья вообще не нужна. Но если у вас обычный монитор с постоянной частотой обновления или вы любите играть в игры на телевизоре, то данная статья
Оглавление

Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC

Если у вас уже есть современный игровой монитор с поддержкой переменной частоты обновления (
FreeSync или G-Sync ), то вам эта статья вообще не нужна. Но если у вас обычный монитор с постоянной частотой обновления или вы любите играть в игры на телевизоре, то данная статья поможет вам снизить разрыв кадров и задержку ввода.

Используя ограничение кадров с миллисекундной точностью в RTSS (Rivatuner Statistics Server), можно обеспечить vsync с низкой задержкой. Что мы получим в результате? Чёткую картинку без разрывов кадров и задержку ввода на 50 мс меньше, чем при обычном vsync.

Это одно из тех немногих улучшений PC, которые могут значительно повысить удобство в играх с минимальными компромиссами и совершенно бесплатно. Что же это такое? И как этого добиться? В этой статье мы расскажем всё подробно и шаг за шагом.

Ужасный разрыв кадров с отключенным vsync

задержка ввода?

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

Однако в напряжённых ситуациях, например, в киберспортивных шутерах, важна каждая миллисекунда. Несколько миллисекунд задержки ввода могут решить судьбу хедшота
У всех мониторов (и телевизоров) по умолчанию добавляется определённая величина задержки ввода. Обычно она зависит от типа используемой панели. Панели IPS и TN с высокой частотой обновления по умолчанию обеспечивают наименьшую задержку ввода. У некоторых мониторов она составляет всего 0,5 мс. Панели VA обычно имеют задержку ввода побольше, у многих она достигает 8-10 мс. Телевизоры (в которых часто используют панели VA) обычно проявляют себя хуже всего, у некоторых задержка составляет до 30 мс
Когда vsync отключен, GPU компьютера отправляет отрендеренные кадры на дисплей с максимально возможной скоростью. Так как скорость вывода кадров на дисплей ограничена (у дисплеев с частотой 60 Гц это один кадр раз в 16,66 мс), разрыв кадров происходит, когда новый кадр прибывает до того, как с экрана пропал предыдущий.

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

Из-за создания очереди традиционный vsync может добавлять до 50 мс задержки вдобавок к стандартной задержке дисплея. Здесь на сцене появляется vsync с низкой задержкой.

С помощью vsync с низкой задержкой (low-lag vsync) мы, по сути, ограничиваем частоту кадров (скорость, с которой GPU передаёт кадры) числом, которое слегка ниже частоты обновления монитора. Это мешает GPU отправлять новые кадры до того, как монитор будет готов их выводить. Что мы получим в результате? Игру без разрывов кадров и почти такой же задержкой, как и при отключенном vsync. Теперь поговорим о том, как этого достичь…

Что нам понадобится

Прежде чем приступать, вам нужно скачать последнюю версию Rivatuner Statistics Server (RTSS) . Также вам понадобится подключение к Интернету, чтобы перейти на эти две страницы для запуска тестов:

Первым делом нам нужно определить истинную частоту обновления монитора. Если у вас дисплей на 60 Гц, то она, вероятно, очень близка к 60, но отличается на несколько сотых секунды. Используйте или UFO Refresh Rate Test, или vsync Tester. Если у вас есть свободное время, то запустите оба и проверьте, совпадают ли значения.

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