Для комфортной игры всегда важно не только качество картинки (о чём мы говорили отдельно), но и частота её обновления, которая зависит от многих факторов — модели монитора, мощности компьютера и метода синхронизации. В этой статье мы рассмотрим существующие виды синхронизаций: вертикальную и адаптивную синхронизации, а также G-Sync и FreeSync, чтобы понять, в чем между ними разница и что лучше использовать.
Прежде всего следует напомнить, как работает видеокарта и монитор компьютера. Во время игры видеокарта формирует кадры. Рендер каждого кадра занимает какое-то время и чем сам кадр сложнее, тем рендер дольше — увеличивают время рендера разрешение экрана, качество и количество эффектов и объектов и так далее. Сформированный кадр посылается на монитор, и видеокарта начинает создавать следующий кадр. Проблема в том, что время рендера кадра и его время на мониторе не всегда совпадают. Все проблемы начинаются отсюда.
В идеальном случае эти два отрезка времени должны быть равны — тогда, когда на мониторе закончится старый кадр, к нему подоспеет новый кадр и они плавно пойдут друг за другом, не создавая проблем. Но видеокарта может «обгонять» монитор.
И тут необходимо понимать, что мониторы работают с определёнными частотами обновления — количеством обновления кадров в секунду. Измеряется частота обновления в герцах. Мониторы с 60 Гц обновляют картинку 60 раз за секунду, 144 Гц — 144 раза за секунду.
Возвращаясь к видеокарте и монитору — значение кадров в секунду, выходящих из видеокарты, плавает, и может быть как меньше 60, так и больше. Оба случая приводят к проблемам.
Если кадры «тяжёлые» (большой взрыв трёх машин в 4K-разрешении, например), то рендер будет долгим и видеокарта может выдать меньше 60 кадров за секунду. Из-за этого монитору не хватает кадров, чтобы воспроизвести одну секунду, и игра компенсирует это и формирует кадры, где действие проходит быстрее, чтобы игровой процесс не замедлился. Но потом «тяжёлые» кадры проходят, и время рендера становится прежним. Но игра ещё не успела перестроиться и по-прежнему заставляет рендерить ускоренные кадры — из-за чего в какой-то момент может пойти смещение и возникнет статтер. Пример работы такого алгоритма — ниже (в верхней части ролика все кадры рендерятся за одинаковое время, в нижней время колеблется).
Обратный вариант: видеокарта рендерит больше кадров в секунду, чем способен показать монитор. Это приводит к тому, что на мониторе может появиться сразу несколько кадров.
Подобные разрывы бросаются в глаза, и их частое появление может вызвать тошноту, боль в глазах или головокружение. В таком случае речь идёт не просто о плавной игре, но и о здоровье человека, потому борьбе с подобным уделено большое внимание. Ниже рассмотрены методы синхронизации видеокарты и монитора, которые позволяют избавиться от подобных проблем.
Вертикальная синхронизация (Vertical Synchronization, V-Sync) — своеобразный «костыль», редко помогающий сам по себе. Принцип работы прост: он замедляет видеокарту, заставляя её выпускать столько кадров в секунду, сколько может производить монитор. Таким образом, «лишних кадров» не появляется и видеокарта синхронизирована с монитором. Но проблемы есть: если возможный FPS значительно превышает заданный синхронизацией, то игра хуже реагирует на действия игрока — многие жалуются, что кажется, будто персонаж (независимо от игры) двигается «как в молоке».
Тем не менее, не решается проблема и с кадрами, которые рендерятся дольше и из-за которых видеокарта выдаёт в секунду меньше, чем может показать монитор. Потому что V-Sync в таком случае сокращает число выводимых кадров до кратного частоте монитора. Например, если у вас монитор с 60 Гц, а видеокарта выводит 55 кадров в секунду, то V-Sync срежет выводимое число кадров до 30, чтобы картинка шла плавнее. В результате FPS падает и ощущения становятся ещё хуже.
Nvidia разработала адаптивную синхронизацию на замену вертикальной. Принцип её действия прост — если видеокарта выдаёт больше 60 кадров в секунду, V-Sync включается автоматически. Если кадров меньше необходимого — вертикальная синхронизация отключается. Если частота выше — работает вертикальная синхронизация и убирает разрыв изображения. Если частота ниже — она не блокируется на конкретном значении и (в теории) всё работает хорошо.
Однако на практике подобный метод помогает не всегда и проблемы вертикальной синхронизации всё ещё могут встречаться.
Ещё один способ от Nvidia. Компания разработала специальные мониторы G-Sync, которые подстраивают свою частоту под частоту видеокарты. То есть, если на монитор G-Sync с частотой 120 Гц подаётся 80 FPS, то монитор снизит свою частоту до 80 Гц.
Убирая все минусы вертикальной синхронизации (статтеринг, разрыв изображения, задержку управления), G-Sync является очень хорошим вариантом. Но, вместе с этим, очень дорогим, так как G-Sync работает только на мониторах с предустановленным чипом от Nvidia и требует повышенной мощности.
После G-Sync, основным порогом которой стала цена, AMD представила свой вариант — Radeon FreeSync. Принцип работы FreeSync не отличается от G-Sync: монитор синхронизируется с видеокартой и работает на её частоте.
На 1:49 — сравнение G-Sync и FreeSync в замедленной съёмке.
Однако свои отличия есть. Если G-Sync продолжает работать по этому принципу на низких FPS, мониторы с FreeSync начинают использовать «традиционные» методы синхронизации, возвращая старые помехи — и статтер, и разрыв изображения, и задержку управления.
Но если G-Sync использует свой собственный чип, FreeSync работает на DisplayPort — уже разработанной до этого технологии. Говоря кратко: для FreeSync тоже нужен специальный монитор, но FreeSync-монитор будет дешевле монитора с G-Sync.
На CES 2019 Nvidia представила новое внедрение G-Sync — теперь синхронизация монитора будет обеспечена функцией Variety Refresh Rate (VRR, присутствует в HDMI 2.1) и видеокартами Nvidia GTX 10 поколения или Nvidia RTX 20 поколения. Для такой технологии требуется монитор с FreeSync.
Это значительно расширяет список подходящих мониторов, а также даёт шанс, что любой монитор сможет работать с G-Sync.
С развитием технологий синхронизации стоит ждать всё более новых и новых методов, сочетающих в себе качество и доступность. Возможно, уже очень скоро играть без любых помех сможет обладатель очень бюджетного компьютера.
Не говоря уже о том, что мониторы с этой приблудой стоят в два раза дороже, чем обычные-144 герцовые
Хотя чем-то это похоже на адаптивную синхронизацию, описаную в статье, но от разработчика игры, а не создателя видеокарты. Или я не прав, поясните мне пожалуйста.