поиск
язык
железо windows программы сеть
русский українська
ЖелезоВидеокарта → Что такое синхронизация кадров

Что такое синхронизация кадров

04.09.2019 г.

В описании характеристик видеокарт и мониторов часто встречается упоминание о поддержке ими технологий синхронизации кадров, таких как 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 Гц.

По сути, каждое обновление изображения монитора - это "доставка" кадра от видеокарты до глаз пользователя. С какой бы скоростью не рисовала кадры видеокарта, результаты ее работы "доставляются" пользователю с периодичностью, определяемой возможностями монитора. Если частота обновления монитора составляет 60 Гц, формирование видеокартой больше 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. Монитор выводит на экран первый кадр. Наступает момент второго его обновления, но в первичном кадровом буфере находится все тот же кадр, поскольку видеокарта еще не успела сформировать новый. Монитор обновляется тем же кадром. И только на третьем обновлении он получит кадр, отличающийся от первых двух. Кроме того, между вторым и третьим обновлением видеокарте придется "простаивать", пока монитор не "заберет" готовый кадр. Таким образом, сначала видеокарта "не успевает" за монитором, а потом ей приходится ожидать освобождения места во вторичном буфере, необходимого для формирования нового кадра. И это все циклически повторяется.

На выходе при потенциально возможных ~50 кадрах в секунду фактическая скорость смены кадров на экране будет всего 30 FPS (половина от частоты обновления экрана), то есть шаг "срезания" FPS составляет 50%. А как уже говорилось выше, 30 FPS - это нижняя граница комфортной плавности картинки, на которой геймеры с набитым глазом уже начинают замечать подергивания. Ну а если в какой-то сложной сцене реальная скорость карты c 50 FPS опустится ниже 30 FPS (например, до еще терпимых 28-29 FPS), V-Sync тут же "срежет" ее до неиграбельных 15 FPS.

Получается, что если скорость формирования кадров видеокартой становится ниже частоты обновления монитора, от классической вертикальной синхронизации может быть больше вреда, чем пользы.

Чтобы избавить пользователя от необходимости "ручного" поиска оптимального варианта для каждой игры, компания NVIDIA разработала технологию Adaptive V-Sync. Она автоматически активирует вертикальную синхронизацию в играх, когда FPS видеокарты превышает частоту обновления монитора, и отключает ее, когда FPS опускается ниже этого уровня. Adaptive V-Sync поддерживается видеокартами GeForce, начиная с 600-й серии (архитектура Kepler) и активируется в настройках драйвера видеокарты.

Активация адаптивной вертикальной синхронизации кадров

Казалось бы, вопрос решен. Однако, проблемы с V-Sync возникают не только при низком FPS, но и когда скорость видеокарты слишком высокая. Если FPS в разы превышает частоту обновления монитора, вертикальная синхронизация "режет" скорость видеокарты очень "грубо". Вследствие неравномерности периодов работы и "простаивания" видеокарты возникают микроподергивания картинки (так называемый статеринг, от анг. Stuttering - заикание), а также повышается Input Lag (задержка вывода). Последнее проявляется увеличением задержки отклика игры на действие игрока. Игра становится менее отзывчивой, как бы "ватной". Чем сильнее FPS превышает частоту обновления монитора, тем это заметнее.

Для борьбы с указанным явлением была придумана "тройная" буферизация. Суть ее заключается в том, что в "двухбуферную" схему добавляется еще один кадровый буфер. Работает все примерно так.

Первый кадр находится в первичном буфере, две трети второго кадра обрабатываются видеокартой во вторичном буфере, после чего видеокарта приступает к формированию последней трети второго кадра в третьем буфере.

После обновления экрана первым кадром, во второй буфер из третьего поступает последняя треть второго кадра, а первая треть третьего кадра начинает создаваться в третьем буфере.

После второго обновления экрана первым кадром второй кадр копируется в первичный буфер, а первая треть кадра № 3 перемещается из третьего буфера во вторичный. Оставшиеся две трети кадра № 3 формируются в третьем буфере. Когда происходит первое обновление экрана вторым кадром, все части кадра № 3 переносятся во вторичный буфер. Затем все повторяется сначала.

Трехбуферная вертикальная синхронизация кадров

В такой схеме при высоком FPS равномерность работы видеокарты страдает меньше. Не так заметно повышается и Input Lag. Когда скорость работы видеокарты опускается ниже частоты обновления монитора, шаг "срезания" FPS составляет уже не 50%, а 33%, и каждые два кадра, сформированные видеокартой, выводятся на экран за три его обновления.

В ситуации из предыдущего примера, где видеокарта потенциально способна выдать ~50 кадров в секунду, а частота обновления экрана составляет 60 Гц, при трехбуферной схеме скорость смены кадров в конечном итоге составит 40 FPS. А это уже намного лучше, чем в случае с "двойной" буферизацией.

Три буфера - это не предел. Теоретически схему можно совершенствовать, увеличивая количество буферов до 4, 5 или даже больше. Однако, у многобуферных схем есть существенный недостаток. Они отнимают ощутимое количество памяти и вычислительных ресурсов у видеокарты, а также являются сложными в реализации. Как следствие, даже "трехуровневая" схема вертикальной синхронизации есть далеко не во всех играх.

Чтобы как-то улучшить ситуацию в видеокартах 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. Ее аналог от AMD - FreeSync. Обе они работают по схожему принципу и требуют поддержки не только видеокартой, но и монитором.

NVIDIA G-Sync

Поддержка G-Sync появилась в 2014 году в видеокартах GeForce 600-й серии (архитектура Kepler). Монитор с полной поддержкой G-Sync должен отвечать строгим требованиям: низкое время отклика экрана, частота обновления не ниже 144 Гц, поддержка HDR и др. В такой монитор устанавливается специальный аппаратный модуль. Он подсчитывает кадры, генерируемые видеокартой, и динамически изменяет частоту обновления экрана в соответствии с текущей скоростью игры, обеспечивая полное их совпадение. Диапазон изменения частоты обновления экрана составляет как минимум 1 - 144 Гц.

Модуль NVIDIA G-Sync

Аппаратный модуль G-Sync основан на чипе Intel семейства Altera Arria GX и содержит буферную память (от 3 чипов DRAM DDR3L или лучше совокупной емкостью не менее 768 МБ). Стоимость только самого такого модуля составляет 100- 200 дол. США, поэтому цена мониторов на их основе на порядок выше обычных. Но если у вас видеокарта от NVIDIA и есть финансовая возможность, приобретение такого монитора имеет смысл. С аппаратным модулем G-Sync пользователь всегда получает прогнозированный результат без всяких "сюрпризов".

Модуль 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.

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

ПОДЕЛИТЬСЯ:

НАПИСАТЬ АВТОРУ
Похожие материалы


Что такое трассировка лучей

В мире компьютерных игр в 2018 году произошло событие, которое многие эксперты отнесли к разряду революционных. Речь идет о внедрении в игры трассировки лучей.

Трассировка лучей (англ. Ray Tracing) - это технология отрисовки трехмерной графики, симулирующая физическое поведение света. Используя ее, видеокарта в точности моделирует прохождения лучей от источников освещения и их взаимодействие с объектами. При этом, учитываются свойства поверхностей объектов, на основании чего вычисляются точки начала рассеивания, особенности отражения света, возникновения теней и многое другое.

По сути, это симуляция модели человеческого зрения, которая вплотную приближает компьютерную графику к кинематографическому уровню (см. примеры).

ΞподробнееΞ
Каталог игр на ПК (PC)

У каждой компьютерной игры есть определенные требования к внутренним устройствам компьютера (видеокарте, процессору объему оперативной памяти и др.). Если компьютер им не отвечает, насладиться игровым процессом вряд ли получится.

В этом каталоге можно подобрать игры с учетом как игровых предпочтений пользователя (жанр, сюжет, особенности геймплея и т.д.), так и быстродействия в них конкретного компьютерного "железа".

ΞподробнееΞ
Сравнение видеокарт

Онлайн-сервис сравнения характеристик видеокарт. Построен в виде сравнительной таблицы, в которую можно одновременно добавить неограниченное число графических карт, выбрав их из списка (доступно около 700 дискретных и интегрированных видеокарт nVidia, AMD и Intel).

Сервис позволяет в удобной форме сравнивать производительность видеокарт в компьютеных играх, частоту графического процессора, тип, размер и ширину шины памяти, а также другие их характеристики.

ΞподробнееΞ
Быстродействие и спецификации видеокарт

Рейтинг быстродействия и характеристики десктопных и мобильных видеокарт NVIDIA и AMD (ATI), а также графических чипов, интегрированных в процессоры и системную логику материнских плат.

Есть фильтр, позволяющий отбирать видеокарты по названию модели, разработчику, типу (мобильные, десктопные, дискретные, интегрированные), году выхода, интерфейсу подключения к материнской плате, а также требованиям к блоку питания компьютера.

ΞподробнееΞ
Как узнать версию DirectX компьютера

DirectX - это набор библиотек, входящих в операционную систему Windows, которые используются для создания трехмерной графики. Благодаря DirectX, разработка компьютерных игр стала значительно проще. По сути, DirectX сделал Windows единоличным лидером среди операционных систем для домашних игровых компьютеров.

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

Поддержка компьютером той или иной версии DirectX зависит от установленной на нем Windows, а также от возможностей его видеокарты.

ΞподробнееΞ
Как узнать видеокарту компьютера

Из статьи читатель узнает о том, как получить информацию о видеокарте, даже если она не идентифицируется компьютером, ее драйвер установлен не правильно или отсутствует.

Узнать, какая на компьютере установлена видеокарта, можно несколькими способами. Порядок действий будет зависеть в первую очередь от того, установлен на компьютере драйвер видеокарты (первые два способа) или нет (третий способ).

ΞподробнееΞ
ЖЕЛЕЗО Основы Устройство компьютера Драйверы устройств BIOS, UEFI Внутренние устройства Процессор Материнская плата Видеокарта Оперативная память Жесткий диск, SSD Блок питания Сетевая карта Звуковая карта Кулеры, охлаждение Внешние устройства Мышка Клавиатура Монитор, телевизор Флешка Оптические диски Принтер, сканер Маршрутизатор, Wi-Fi WINDOWS Установка и оптимизация Установка Windows Обновление, восстановление Оптимизация Windows Файлы и папки Файлы Папки Архивы Иконки и ярлыки Контекстное меню Использование Windows Основы Рабочий стол Панель задач Мой компьютер Учетные записи Горячие клавиши Дата и время Язык Шрифты Звуки Панель управления Диспетчер задач Диспетчер устройств Реестр Командная строка Виртуализация Безопасность ПРОГРАММЫ Инструкции и советы Установка программ Автозагрузка программ Microsoft Word Microsoft Excel Браузеры Архиваторы Файлы, мультимедиа Безопасность Каталог программ Категории

СЕТЬ Основы Настройка сети Возможности Интернета Полезные сайты


вверх