[Перевод] Как избавиться от разрыва кадров и задержки ввода в играх

[Перевод] Как избавиться от разрыва кадров и задержки ввода в играх

Разрыв кадров (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). Также вам понадобится подключение к Интернету, чтобы перейти на эти две страницы для запуска тестов:

В BIOS вашего компьютера должен быть включен HPET (High Precision Event Timer). Если вы по каким-то причинам его выключили, то включите.

Приступаем к работе

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

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

Используем UFO Test для определения истинной частоты обновления

Установка и запуск Rivatuner

После установки Rivatuner запустите программу с правами администратора. Затем нажмите на зелёную кнопку «Add» в левом нижнем углу. Перейдите в папку, где установлена нужная игра. (Стоит учесть, что можно задать параметры и глобально, но мы предпочитаем настраивать их индивидуально для каждой игры).

Выберите исполняемый файл игры, а затем добавьте его в Rivatuner.

Добавляем новую игру в RTSS

Вычисляем величину ограничения кадров

Возьмите частоту обновления с тремя знаками после запятой и вычтите из неё 0,01. Например, если ваша частота обновления равна 60,001, то ограничение кадров будет равно 59,991.

В левой части интерфейса Rivatuner выберите игру. Затем введите значение ограничения частоты кадров в поле рядом с Frame rate limit. Так мы ограничили частоту кадров игры значением ниже частоты обновления монитора. Возможно, с этим значением придётся немного поэкспериментировать. Некоторые игры более чувствительны к ограничению кадров, чем другие: если вы замечаете сильное дрожание, то попытайтесь увеличивать ограничение частоты кадров с инкрементом 0,002.

Включение vsync и запуск

Запустите игру, а затем включите vsync в её настройках. Если вы не можете этого сделать, то включите принудительный vsync на уровне драйвера из панели управления AMD или Nvidia. Вот и всё!

После включения vsync с низкой задержкой вы получите значительно лучшую задержку ввода без разрыва кадров. Однако существуют тонкости, на которые стоит обратить внимание. Vsync с низкой задержкой лучше всего работает, если ваша система способна устойчиво работать с частотой выше частоты кадров монитора. Если она достигает отметки только в 60 FPS, то включение этой функции может вызвать дополнительные рывки при снижении частоты кадров.

Scanline sync: ещё более удобная альтернатива

Если вы не хотите экспериментировать с дробными ограничениями частоты кадров, то у RTSS есть альтернатива: scanline sync. Синхронизация строк развёртки (Scanline sync) позволяет управлять тем, где на экране происходит разрыв кадров с отключенным vsync.

Как это поможет? Разрыв кадра отображается как одна строка, которую мы сможем переместить на край экрана, в самый верх или низ, где он, по сути, исчезнет. Для включения scanline sync нужно отключить ограничение частоты кадров, задав в RTSS Framerate limit равным 0 и отключив внутриигровой или драйверный vsync.

Теперь решим, где мы хотим разместить строку развёртки. Можно с этим поэкспериментировать, но в идеале стоит взять вертикальное разрешение монитора (1440, если это монитор 1440p), а затем вычесть 10-20. Введите это число в поле Scanline Sync. S-Sync часто обеспечивает даже меньшую задержку ввода, чем vsync с низкой задержкой.

Однако для оптимальной работы потребуется мощная система (или не очень требовательная игра). В играх, где уровень загрузки GPU постоянно выше 80 процентов, S-Sync не имеет достаточной производительности для удерживания линии разрыва на одном месте, что может вызвать значительные рывки.

Эмпирическое правило: используйте S-Sync для не очень требовательных игр, в которых средняя частота кадров может быть значительно выше 60 FPS. Vsync с низкой задержкой следует использовать в играх, которые работают близко к 60 FPS.

Беспроблемная настройка

Некоторые способы настройки производительности PC могут обладать эффектом плацебо или иметь издержки, как, например, в случае с масштабированием разрешения. Но в случае vsync с низкой задержкой вы на самом деле получаете более качественный игровой процесс без всяких компромиссов. Если у вас есть дополнительный ресурс производительности, но вы играете не на игровом мониторе с VRR, то включенный low-lag vsync может изменить ощущения от шутеров и соревновательных игр, в то же время избавив от разрыва кадров.

Для этого не требуется специальное оборудование, а из ПО нужен только RTSS. Если последуете нашим инструкциям, то сможете заметить значительное снижение задержки ввода и повышение отзывчивости во всех ваших играх.


На правах рекламы

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

 

Источник

GPU, RTSS, vsync

Читайте также