Что значит синхронизация кадров
Разбираемся, что такое G-Sync, FreeSync, V-Sync и нужны ли они вообще
Связь видеокарты с монитором и её проблемы
В идеальном случае эти два отрезка времени должны быть равны — тогда, когда на мониторе закончится старый кадр, к нему подоспеет новый кадр и они плавно пойдут друг за другом, не создавая проблем. Но видеокарта может «обгонять» монитор.
И тут необходимо понимать, что мониторы работают с определёнными частотами обновления — количеством обновления кадров в секунду. Измеряется частота обновления в герцах. Мониторы с 60 Гц обновляют картинку 60 раз за секунду, 144 Гц — 144 раза за секунду.
Возвращаясь к видеокарте и монитору — значение кадров в секунду, выходящих из видеокарты, плавает, и может быть как меньше 60, так и больше. Оба случая приводят к проблемам.
Обратный вариант: видеокарта рендерит больше кадров в секунду, чем способен показать монитор. Это приводит к тому, что на мониторе может появиться сразу несколько кадров.
Подобные разрывы бросаются в глаза, и их частое появление может вызвать тошноту, боль в глазах или головокружение. В таком случае речь идёт не просто о плавной игре, но и о здоровье человека, потому борьбе с подобным уделено большое внимание. Ниже рассмотрены методы синхронизации видеокарты и монитора, которые позволяют избавиться от подобных проблем.
Вертикальная синхронизация — дёшево и сердито
Тем не менее, не решается проблема и с кадрами, которые рендерятся дольше и из-за которых видеокарта выдаёт в секунду меньше, чем может показать монитор. Потому что V-Sync в таком случае сокращает число выводимых кадров до кратного частоте монитора. Например, если у вас монитор с 60 Гц, а видеокарта выводит 55 кадров в секунду, то V-Sync срежет выводимое число кадров до 30, чтобы картинка шла плавнее. В результате FPS падает и ощущения становятся ещё хуже.
Адаптивная синхронизация — старший брат V-Sync
Однако на практике подобный метод помогает не всегда и проблемы вертикальной синхронизации всё ещё могут встречаться.
G-Sync — дорого, но эффективно
Убирая все минусы вертикальной синхронизации (статтеринг, разрыв изображения, задержку управления), G-Sync является очень хорошим вариантом. Но, вместе с этим, очень дорогим, так как G-Sync работает только на мониторах с предустановленным чипом от Nvidia и требует повышенной мощности.
FreeSync — упрощённая G-Sync
Однако свои отличия есть. Если G-Sync продолжает работать по этому принципу на низких FPS, мониторы с FreeSync начинают использовать «традиционные» методы синхронизации, возвращая старые помехи — и статтер, и разрыв изображения, и задержку управления.
Но если G-Sync использует свой собственный чип, FreeSync работает на DisplayPort — уже разработанной до этого технологии. Говоря кратко: для FreeSync тоже нужен специальный монитор, но FreeSync-монитор будет дешевле монитора с G-Sync.
VRR и совместимость FreeSync с G-Sync
Это значительно расширяет список подходящих мониторов, а также даёт шанс, что любой монитор сможет работать с G-Sync.
Что такое синхронизация кадров
В описании характеристик видеокарт и мониторов часто встречается упоминание о поддержке ими технологий синхронизации кадров, таких как V-Sync, G-Sync, FreeSync, Enhanced Sync, FastSync.
Все эти технологии похожи и выполняют одну и ту же важную функцию синхронизации кадров. Но отличаются они не только названием. Если, собирая игровой компьютер, вы хотите получить максимально плавную картинку в играх, нужно понимать принцип работы этих технологий, а также знать основные особенности каждой из них. Это позволит выбрать оптимальное компьютерное «железо» и в итоге не разочароваться в нем.
Зачем нужна синхронизация кадров
Изображение на мониторе воспринимается нами как движимое благодаря смене кадров. Этот эффект многим из нас знаком с детства, когда мы получали «движущуюся картинку», нарисовав на каждой странице тетрадки немного отличающиеся друг от друга изображения и быстро перелистывая их, как на картинке ниже.
Точно по такому же принципу работает монитор компьютера. Чем чаще на нем происходит смена кадров, тем плавнее движется изображение.
Для человеческого зрения критическим является рубеж в 24 кадра в секунду. Если компьютер не способен менять кадры быстрее, изображение теряет плавность («дергается»). В динамических сценах, которых очень много в компьютерных играх, комфортный рубеж частоты смены кадров немного выше. Чтобы игра была достаточно «отзывчивой» и подергивания не мешали игровому процессу, частота должна быть не ниже 30-35 кадров в секунду.
Хотя, есть люди, замечающие «подтормаживание» картинки даже на такой частоте смены кадров.
В компьютере за формирование и вывод на экран изображения отвечают, главным образом, два устройства – видеокарта и монитор. Они постоянно взаимодействуют между собой. Видеокарта «рисует» кадры, а монитор «показывает» их.
Быстродействие видеокарты в играх принято измерять в единицах, называемых FPS (от англ. Frames per Second, что значит кадры в секунду). Современная игровая видеокарта способна генерировать огромное число кадров в секунду. В некоторых играх FPS может достигать 200, 300 и больше. Конечный результат зависит не только от «мощности» видеокарты, но и от графической сложности рисуемых ею кадров. Поскольку сложность сцен в игре постоянно меняется, каждую секунду видеокарта выдает разное количество кадров.
Монитор тоже имеет свои частотные характеристики. Каждую единицу времени он определенное количество раз обновляет изображение. Частота обновления монитора измеряется в герцах, сокращенно Гц (1 Гц = 1 раз в секунду). В большинстве мониторов частота обновления всегда стабильна и составляет 60, 75, 85, 100, 120 Гц или больше, в зависимости от модели. В простых «бюджетных» мониторах она почти всегда равна 60 Гц.
Но главной проблемой все же является не это. Скорость генерирования кадров видеокартой только в редкие моменты совпадает с частотой обновления монитора. Поэтому почти каждый раз при его обновлении в кадровом буфере находится не готовый кадр, а некий промежуточный результат, состоящий из какой-то части кадра, создаваемого видеокартой в этот момент, а также части предыдущего кадра. И если эти кадры сильно отличаются, передаваемое на экран изображение будет иметь заметные дефекты в виде полос, срезов, разрывов, наложений и др. Это явление называется тиринг (от англ. tearing – разрыв) и особенно бросается в глаза в динамичных игровых сценах, включающих бег, резкие повороты камеры, взрывы и т.д., см. примеры ниже.
Упомянутые выше проблемы решаются путем синхронизации скорости работы видеокарты и частоты обновления экрана.
Вертикальная синхронизация (V-Sync, FastSync, Enhanced Sync)
Наиболее «старой» технологией синхронизации кадров является классическая вертикальная синхронизация (англ. Vertical Sync или сокращенно V-Sync). Она поддерживается практически всеми видеокартами и мониторами. Пониманию принципов ее работы следует уделить особое внимание, поскольку остальные технологии синхронизации появились вследствие ее развития.
Алгоритм V-Sync подразумевает использование двух кадровых буферов и заключается примерно в следующем.
Каждый кадр формируется видеокартой в так называемом вторичном кадровом буфере (back buffer). При готовности кадр копируется из вторичного в первичный кадровый буфер (front buffer), замещая собой кадр, находящийся там. Монитор обновляет изображение на экране со стабильной частотой и при каждом обновлении получает кадр из первичного буфера.
Копирование кадров между буферами происходит не хаотично, а по строгим правилам:
1. Кадр поступает из вторичного буфера в первичный строго между обновлениями монитора и только в том случае, если он (кадр) полностью готов;
2. Видеокарта «дожидается» копирования готового кадра из вторичного буфера в первичный, и только после этого приступает к формированию следующего кадра.
Благодаря такой схеме, в первичном буфере при каждом обновлении монитора находится на 100% сформированный кадр (без разрывов и наложений), а скорость генерирования кадров видеокартой снижается до частоты обновления экрана.
Однако, двухбуферная схема нормально работает, когда FPS видеокарты выше частоты обновления экрана, и плохо проявляет себя, если FPS опускается ниже этого уровня. В такие моменты происходит следующее.
Допустим, частота обновления монитора составляет 60 Гц, а видеокарта в какой-то игре формирует кадры со скоростью
50 FPS. Монитор выводит на экран первый кадр. Наступает момент второго его обновления, но в первичном кадровом буфере находится все тот же кадр, поскольку видеокарта еще не успела сформировать новый. Монитор обновляется тем же кадром. И только на третьем обновлении он получит кадр, отличающийся от первых двух. Кроме того, между вторым и третьим обновлением видеокарте придется «простаивать», пока монитор не «заберет» готовый кадр. Таким образом, сначала видеокарта «не успевает» за монитором, а потом ей приходится ожидать освобождения места во вторичном буфере, необходимого для формирования нового кадра. И это все циклически повторяется.
На выходе при потенциально возможных
Получается, что если скорость формирования кадров видеокартой становится ниже частоты обновления монитора, от классической вертикальной синхронизации может быть больше вреда, чем пользы.
Чтобы избавить пользователя от необходимости «ручного» поиска оптимального варианта для каждой игры, компания NVIDIA разработала технологию Adaptive V-Sync. Она автоматически активирует вертикальную синхронизацию в играх, когда FPS видеокарты превышает частоту обновления монитора, и отключает ее, когда FPS опускается ниже этого уровня. Adaptive V-Sync поддерживается видеокартами GeForce, начиная с 600-й серии (архитектура Kepler) и активируется в настройках драйвера видеокарты.
Для борьбы с указанным явлением была придумана «тройная» буферизация. Суть ее заключается в том, что в «двухбуферную» схему добавляется еще один кадровый буфер. Работает все примерно так.
Первый кадр находится в первичном буфере, две трети второго кадра обрабатываются видеокартой во вторичном буфере, после чего видеокарта приступает к формированию последней трети второго кадра в третьем буфере.
После обновления экрана первым кадром, во второй буфер из третьего поступает последняя треть второго кадра, а первая треть третьего кадра начинает создаваться в третьем буфере.
После второго обновления экрана первым кадром второй кадр копируется в первичный буфер, а первая треть кадра № 3 перемещается из третьего буфера во вторичный. Оставшиеся две трети кадра № 3 формируются в третьем буфере. Когда происходит первое обновление экрана вторым кадром, все части кадра № 3 переносятся во вторичный буфер. Затем все повторяется сначала.
В такой схеме при высоком FPS равномерность работы видеокарты страдает меньше. Не так заметно повышается и Input Lag. Когда скорость работы видеокарты опускается ниже частоты обновления монитора, шаг «срезания» FPS составляет уже не 50%, а 33%, и каждые два кадра, сформированные видеокартой, выводятся на экран за три его обновления.
В ситуации из предыдущего примера, где видеокарта потенциально способна выдать
50 кадров в секунду, а частота обновления экрана составляет 60 Гц, при трехбуферной схеме скорость смены кадров в конечном итоге составит 40 FPS. А это уже намного лучше, чем в случае с «двойной» буферизацией.
Чтобы как-то улучшить ситуацию в видеокартах GeForce, начиная с архитектуры Maxwell (900-я серия), появилась поддержка так называемой технологии FastSync. Компания AMD в своих графических ускорителях, начиная с архитектуры GCN, реализовала поддержку аналогичной технологии, дав ей название Enhanced Sync.
FastSync и Enhanced Sync, по сути, являются усовершенствованным вариантом многобуферной вертикальной синхронизации, реализованным на уровне драйвера. Они позволяют задействовать многобуферную схему даже тогда, когда в игре такая возможность не предусмотрена. FastSync и Enhanced Sync активируются в настройках драйвера видеокарты.
Это может быть полезно
Кроме вертикальной синхронизации, для решения проблем, вызванных дисбалансом скорости работы монитора и видеокарты, можно использовать еще несколько методов.
1. Если в настройках игры предусмотрена возможность указания максимального предела скорости формирования кадров видеокартой, этот показатель можно сделать равным частоте обновления монитора, а вертикальную синхронизацию отключить. Как и в случае с использованием V-Sync, FPS после этого не будет подниматься выше потенциальных возможностей монитора, однако, когда он опустится ниже этого уровня, никакие ограничения действовать не будут. Видеокарта просто будет выдавать тот максимум, на который она способна (метод очень похож на упоминавшуюся выше технологию Adaptive V-Sync).
2. Если в настройках игры предусмотрен вариант оконного режима, можно попробовать активировать его. Игра в таком случае будет отображаться в виде окна Windows. Если расширить это окно до размеров экрана, рамок не будет видно. Зато в формировании изображения будут использоваться средства операционной системы Windows, которые в некоторых случаях проявляют себя лучше, чем простая вертикальная синхронизация.
Эти методы можно использовать как по отдельности, так и одновременно, в зависимости от того, какой вариант окажется более комфортным.
Адаптивная синхронизация (G-Sync, Free-Sync)
Технологии вертикальной синхронизации, о которых говорилось выше, подразумевают работу монитора с неизменяемой частотой обновления и односторонне «подстраивание» под него скорости работы видеокарты. К монитору при этом не предъявляется никаких особых требований (можно использовать любой).
Но существуют более совершенные способы синхронизации, предусматривающие, кроме регулирования быстродействия видеокарты, еще и динамичное изменение частоты обновления монитора. Монитор и видеокарта как бы «взаимоподстраиваются» друг под друга, благодаря чему достигается максимальная синхронность их работы при полном отсутствии артефактов, подергиваний и без увеличения задержки отклика игры. Такие схемы носят общее название «Адаптивная синхронизация кадров».
NVIDIA G-Sync
Аппаратный модуль G-Sync основан на чипе Intel семейства Altera Arria GX и содержит буферную память (от 3 чипов DRAM DDR3L или лучше совокупной емкостью не менее 768 МБ). Стоимость только самого такого модуля составляет 100- 200 дол. США, поэтому цена мониторов на их основе на порядок выше обычных. Но если у вас видеокарта от NVIDIA и есть финансовая возможность, приобретение такого монитора имеет смысл. С аппаратным модулем G-Sync пользователь всегда получает прогнозированный результат без всяких «сюрпризов».
Примечательно, что в игровых ноутбуках на основе видеокарт N-Vidia используется другая схема адаптивной синхронизации, получившая название Mobile G-Sync. Она реализуется исключительно через интерфейс embedded DisplayPort (eDP) и не предусматривает наличия отдельного G-Sync-модуля. Это больше программный, чем аппаратный метод. В его основе лежит сложный алгоритм, который с высокой точностью прогнозирует количество кадров, формируемых видеокартой каждую единицу времени, с учетом чего динамически настраивает частоту обновления дисплея. Точность совпадения скорости обновления экрана и FPS видеокарты здесь уже не 100%, но она очень высокая.
По похожему принципу работает и технология AMD FreeSync.
AMD FreeSync
Технология FreeSync представлена компанией AMD в 2015 году. Ее усовершенствованная версия (FreeSync 2) стала частью стандарта DisplayPort 1.2 (DisplayPort Adaptive-Sync). Так же, как NVIDIA G-Sync, FreeSync обеспечивает динамическое изменение частоты обновления монитора в соответствии со скоростью генерирования кадров видеокартой. Диапазон изменения частоты обновления у разных моделей мониторов может значительно отличаться (в пределах от 9 до 240 Гц).
Реализуется FreeSync на уровне интерфейса и не требует установки в монитор какого-то дополнительного аппаратного обеспечения. Для ее работы нужен монитор с интерфейсом DisplayPort или HDMI и соответствующая видеокарта. Вследствие этого FreeSync-мониторы существенно дешевле, чем мониторы с G-Sync.
Длительное время FreeSync поддерживалась только видеокартами AMD Radeon. Но в 2019 году NVIDIA «сдалась» и добавила поддержку FreeSync в свои графические ускорители, начиная с архитектуры Pascal (GeForce 1000-й серии и более новые).
Учитывая это, FreeSync кажется более предпочтительным вариантом, чем G-Sync. Однако, все не так однозначно.
Поскольку реализация FreeSync полностью отдана на откуп производителям мониторов, при их изготовлении они не обязаны придерживаться каких-то строго унифицированных условий, сформулированных производителями видеокарт. В конечном итоге пользователь может получить не совсем тот (или совсем не тот) результат, на который рассчитывает. Диапазон изменения частоты обновления монитора может оказаться слишком «узким» для того, чтобы давать необходимый эффект плавности. Могут возникнуть проблемы совместимости монитора с видеокартой, особенно, если это GeForce, и т.д.
Некоторым FreeSync-мониторам компания NVIDIA присваивает категорию «G-Sync Compatible» (список см. здесь). Это значит, что они хоть и не содержат аппаратный модуль G-Sync, однако по техническим параметрам удовлетворяют требования NVIDIA и их можно гарантировано использовать с видеокартами GeForce, поддерживающими FreeSync. Такие мониторы даже «прописываются» в драйвере NVidia, благодаря чему адаптивная синхронизация кадров автоматически активируется при их подключении к компьютеру (точно так же, как это работает на мониторах с полноценным G-Sync).
Если FreeSync-монитор не является «G-Sync Compatible», адаптивную синхронизацию кадров в настройках драйвера можно включить «вручную». Однако, в этом случае есть вероятность, что технология будет работать с ограничениями или перебоями.
Как показывает практика, FreeSync можно включить даже на тех компьютерах, дискретные видеокарты которых ее не поддерживают. Это возможно в том случае, когда кроме основного графического процессора, в компьютере есть дополнительная видеокарта Radeon, поддерживающая FreeSync. Она может быть как дискретной, так и интегрированной в центральный процессор (например, Ryzen 5 2400G или Ryzen 5 3400G со встроенным Radeon Vega 11). Монитор нужно подключить к выходу видеокарты с поддержкой FreeSync и в настройках ее драйвера активировать эту технологию. Затем в настройках драйвера основной видеокарты выбрать ее в качестве предпочитаемого графического ускорителя для каждой установленной на компьютере игры.
Такая схема добавляет в систему дополнительные задержки и, конечно же, не является официально рекомендуемой хоть кем-то их производителей компьютерного «железа». Но она работает и для кого-то может оказаться вполне годным вариантом.
Таким образом, технология FreeSync хоть и является бесплатной и более универсальной, чем G-Sync, гарантий полной ее работоспособности в каждом конкретном случае нет. В определенной степени это лотерея.
Перед приобретением FreeSync-монитора нужно тщательно изучить его характеристики, поинтересоваться вопросом совместимости с используемой видеокартой, оценить вероятность совпадения диапазона частоты обновления экрана с быстродействием графического ускорителя, почитать отзывы, посмотреть обзоры (конечно же, если их удастся найти).
Подводя итог
Можно с уверенностью сказать, что в игровом компьютере синхронизация кадров – вещь нужная и очень полезная.
Если позволяют финансовые возможности, при подборе компьютерного «железа» лучше ориентироваться на поддержку им адаптивной синхронизации (G-Sync, FreeSync). Для тех, кто предпочитает видеокарты GeForce, премиальным вариантом станет монитор с аппаратным модулем «G-Sync». Более универсальным и оптимальным по соотношению «цена/результат» будет монитор категории «G-Sync Compatible». Он устроит всех – как геймеров, отдающих предпочтение графическим ускорителям GeForce, так и владельцев видеокарт Radeon. И первые, и вторые могут также смело смотреть в сторону обычных (не «G-Sync Compatible») мониторов с поддержкой FreeSync. Однако, здесь есть определенный риск не получить ожидаемый эффект плавности.
Геймерам, не имеющим возможности или не желающим тратиться на «продвинутый» монитор, желательно хотя-бы приобрести видеокарту, поддерживающую FastSync или Enhanced Sync.
Если и это нельзя сделать, придется довольствоваться возможностями обычной вертикальной синхронизации. При грамотном подходе почти всегда можно добиться достаточной плавности гейминга. Однако, нужно быть готовым к «ручной» настройке компьютера и экспериментальному поиску оптимального варианта для каждой конкретной игры.
VRR — что такое «адаптивная синхронизация частоты кадров»
Сколько пользователей, столько и мнений. Одним важна динамика картинки и отклик, другим – качество контента. Но нет ни одного игрока, который бы спокойно воспринимал разрывы кадров.
Почему появляются разрывы изображений?
Компьютерный монитор выводит в минуту фиксированное число кадров. В зависимости от технических характеристик это могут быть 60, 75 кадров и так далее до 240 кадров и выше. Этот показатель называется частотой и измеряется в герцах. Чем выше частота, тем более плавным и последовательным предстает перед пользователем игровой контент.
В то же время видеокарта может создавать картинки с другой скоростью, отличной от возможностей монитора. Причем, в зависимости от сложности и детализации отдельных картинок на создание каждой тратится разное время.
Именно несогласованность работы графического адаптера и видеокарты приводит к образованию разрыва кадров, который называется тирингом. Выглядит это явление так, будто на экране одновременно появились фрагменты двух изображений, отличающихся яркостью или содержанием. Собственно, так оно и есть. На экран выводятся 2 кадра, которые накладываются друг на друга, чаще всего разрыв происходит в горизонтальной плоскости.
Если видеокарта выдает больше изображений, чем успевает продемонстрировать монитор, накладываются друг на друга два новых кадра. Если работа графического адаптера замедляется, может произойти наложение части незавершенного нового и предыдущего кадра.
Эти явления очень мешают игрокам, отвлекают от игрового процесса и порою становятся причиной поражения.
Технологии синхронизации
Заставить видеокарту генерировать изображения в необходимом монитору режиме невозможно. Поэтому, чтоб согласовать работу видеокарты и монитора, разработчики ПО придумали несколько способов, которые называются технологиями синхронизации.
Таких технологий несколько:
V-Sync – вертикальная синхронизация, которая регулирует скорость работы видеокарты на программном уровне. Эта функция позволяет убрать разрывы игрового процесса и снизить нагрузку на графический процессор. Однако эта же технология может вызвать задержки ввода и подтормаживание картинки, что мешает игровому процессу больше, чем разрывы кадра. Время вывода кадра при этом всегда фиксировано.
G-Sync – аналогичная технология от NVIDIA. Ее отличие от предыдущей: синхронизацией руководит именно видеокарта, а монитор выводит изображение только тогда, когда оно полностью готово. При этом время вывода может отличаться, то есть синхронизация становится динамической. Эта технология позволяет сделать изображение плавным без рывков и артефактов. Но доступна синхронизация G-Sync только в том случае, если ее поддерживают и видеокарта, и монитор, что в пользовательских сборках не всегда совпадает. При этом иногда требуется, чтоб монитор был оснащен аппаратным модулем от NVIDIA, что выливается в аппаратное удорожание решения, помимо обязательных лицензионных отчислений.
FreeSync – технология синхронизации от AMD. Она предоставляет те же возможности, что и G-Sync от NVIDIA, но распространяется бесплатно без лицензии. Работает она даже с видеокартами конкурентов.
Адаптивная синхронизация
Variable refresh rate или проще VRR – самая новая из технологий синхронизации, которая является частью стандарта HDMI по передаче информации. Поэтому часто можно встретить расширенное и более корректное название HDMI Forum VRR.
Главная особенность новой технологии адаптивной синхронизации – ее привязка к разъему.
Если говорить проще, технология VRR позволяет современным телевизорам и мониторам самостоятельно распознавать тип и качество контента, и регулировать работу дисплея в соответствии с его требованиями.
VRR в чем-то соответствует уже существующим технологиям. Но в то же время обладает дополнительными особенностями:
На чем может работать технология VRR?
Поскольку технология VRR привязана к стандарту, она присутствует во всех устройствах, оснащенных портами HDMI. Производители мониторов и видеокарт не имеют права вмешиваться в эту сферу и «вырезать» технологию по своему усмотрению.
Несмотря на то, что технология новая, она поддерживается видеокартами прошлого года. Для активации необходимо просто обновить ПО. Также поддержка VRR гарантирована производителями игровых консолей Xbox и PlayStation.
Если говорить о ПК, то для реализации VRR понадобятся:
Как включить VRR
Новая технология реализуется не только на аппаратном уровне, но и на программном. Windows 10 получила ее вместе с майским обновлением версии 1903. Специалисты Microsoft утверждают, что новая технология не повлияет на предыдущие функции синхронизации, а гармонично дополнит их.
Чтоб включить VRR, перейдите в настройки системы, раздел «Дисплей». Самой нижней строкой расположена функция «Настройки графики», выберите ее. В открывшемся окне переместите бегунок в режим «Вкл» в поле «Переменная частота обновления».
Теперь можете запускать игру и наслаждаться плавным динамичным геймом без разрывов и подвисаний.
Новая технология VRR не стала очередным прорывом или сенсаций, но она гармонично дополнила ряды инструментов, позволяющих пользователю значительно улучшить качество контента.