Вертикальная синхронизация v-sync

Типовые вопросы по вертикальной синхронизации

Что это такое, нужно ли ее включать

Изображение, которое вы видите в игре, по сути, это слайд-шоу (т.е. множество обычных картинок, которые быстро сменяют друг друга). Из-за того, что за одну секунду их сменяется не менее 30-60 (обычно) — человеческий глаз воспринимает их за динамичное изображение…

От производительности вашей видеокарты зависит количество таких генерируемых картинок (кадров) за 1 секунду (кстати, этот параметр также называется FPS). Т.е. в одной сцене видеокарта может выдавать 100 кадров/сек., в другой — 30 кадров/сек.

И вот тут возникает один «нюанс»…

Дело в том, что монитор может отобразить лишь определенное количество кадров в 1 сек. — чаще всего 60 кадров/сек. (этот параметр называется частотой обновления, у типовых мониторов он обычно равен 60 Гц, у игровых — может быть 120/144 Гц и более).

И, если видеокарта выдает больше кадров, чем успевает отобразить монитор — могут наблюдаться различные искажения на экране. Например, наиболее часто можно заметить разрыв — «полосу» по которой смещаются в сторону любые предметы и вещи…

полоса (верт. синхр. не включена)

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

Однако, не все так однозначно: из-за ограничения частоты кадров — в некоторых динамичных сценах в ряде игр профессиональные геймеры отмечают наличие микро-фризов, задержек в отклике мыши/клавиатуры (например, при прицеливании в динамичных шутерах).

Важно отметить!

Поэтому, включать или не включать VSync — решается экспериментально, в зависимости от того, как будет вести себя конкретная игра на вашем железе

(ну и исходя из ваших приоритетов, т.к. вкл. VSync оказывает существенное влияние на FPS и динамику игры в целом ).

«За» и «против» VSync: особенности

Во-первых, при включении VSync — вы убираете «разрывы», которые могут быть в динамичных сценах (обратите внимание на скриншот ниже, я на нем выделил ту «самую» линию, о которой идет речь). Сразу отмечу, в зависимости от вашего оборудования и настроек игры — эти разрывы могут быть существенно заметнее (или отсутствовать вовсе) и реально мешать комфортной игре..

Сразу отмечу, в зависимости от вашего оборудования и настроек игры — эти разрывы могут быть существенно заметнее (или отсутствовать вовсе) и реально мешать комфортной игре…

Разница в картинке — с включенной верт. синхронизацией и выключенной (скриншот из игры World of Warcraft)

Во-вторых, VSync влияет прямо на FPS. При откл. VSync — частота кадров будет значительно выше (отклик мыши в некоторых играх станет чуть лучше (правда заметят это далеко-далеко не все пользователи и не в каждой игре…)).

Количество FPS при вкл. и выкл. синхронизации (кадр из игры World of Warcraft)

В-третьих, вертикальная синхронизация может существенно влиять на стабильность и плавность изображения (и как уже говорил: на качество отклика мыши/клавиатуры). Причем, сказать однозначно в лучшую или в худшую сторону при вкл. VSync это будет — без тестов нельзя!

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

Благодаря этому, видеокарта может проработать существенно дольше!

Как включить/выключить VSync

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

Я бы порекомендовал вам в настройках видеокарты установить режим: «Выкл., если не задано в приложении» (иногда он называется, как «использовать настройку 3D-приложения»). См. скриншоты с примерами ниже.

AMD видеокарта — включение вертикальной синхронизации

NVidia видеокарта — вертикальный синхроимпульс

Благодаря этому в каждой конкретной игре вы сможете вручную отрегулировать ее параметры: где-то включите VSync, где-то выключите (в зависимости от «поведения» 3D приложения).

Настройки в игре (кадр из игры World of Warcraft)

На сим пока всё…

по теме — будут кстати!

Удачи!

RSS 
(как читать Rss)

Вертикальная синхронизация это

Вертикальная синхронизация (V-Sync) — это технология синхронизации кадровой частоты компьютерной игры с частотой отображения кадров монитора. Данная технология позволяет избавиться от проблем с несовпадающими частями картинки. Однако, у нее существуют и недостатки, но обо всем по порядку.

Рассмотрим основной алгоритм V-Sync

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

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

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

Для понимания V-Sync, рассмотрим упрощенный пример.

Все тот же монитор с частотой 60 Гц. Так же для простоты, будем считать 16,7 мс как некую единицу измерения времени. Назовем ее такт.

Такт 1. Видеокарта сформировала картинку К1 за 0,5 такта и перешла в режим ожидания. Монитор отобразил ее.

Такт 2. Видеокарта начала формировать картинку К2 за 1,2 такта. Так как картинка К2 еще не сформирована, то монитор отобразил картинку К1.

Такт 3. Видеокарта сформировала картинку К2 (оставшиеся 0,2 такта) и перешла в режим ожидания. Монитор отобразил К2.

Как видите, в данном случае, отображаются только полные картинки.

Плюсы V-Sync:

1. Плавная картинка, без разрывов.

2. Если видеокарта мощная, то она не формирует те картинки, которые не отображаются. Соответственно, меньше нагрев видеокарты, энергопотребление и износ.

Однако, как уже говорилось, у вертикальной синхронизации существуют недостатки. Рассмотрим их:

1. Снижается FPS (количество генерируемых игрой кадров в секунду). Первое. Так как для синхронизации видеокарте необходимо ожидать момента отображения картинки монитором, то количество кадров, которое может быть ею сформировано, не превышает частоту монитора. Второе. Так как кадры могут формироваться с разной скоростью, то нередко будут возникать ситуации, когда видеокарта не будет успевать создавать картинку. Этот момент особенно важен и для тех ситуаций, когда видеокарта формирует меньше кадров в секунду, чем частота монитора. В таком случае, суммарный простой может выливаться в еще меньший fps.

2. Input lag. Об этой проблеме будет отдельный обзор. Но, вкратце, проблема в том, что монитор отображает старую картинку в момент формирования видеокартой следующей. Это означает, что действия игрока могут не соответствовать отображаемой картинке на мониторе.

Теперь, вы знаете что такое вертикальная синхронизация и зачем она нужна.

  • Что такое fps в играх?
  • Что такое Input Lag?

10.2 Вертикальная синхронизация:

Возвращаясь к нашей картинке, как нам поместить 247 тиков так это показано на
рисунке?

Используя наш пример, имеем, HR = 944 и HFL = 1176. Разница между этими двумя
значениями 1176 — 944=232 < 247! Очевидно, что-то здесь нужно
подкорректировать. Но что же?

Первым делом надо поднять 1176 до 1184 или опустить 944 до 936. Теперь разница
состовляет 1184-936= 248. Ну, что ж, уже ближе…

Затем вместо 3,8, мы используем 3,5 для вычисления HSP; теперь имеем
65*3.5=227. Выглядит получше. Но 248 не сильно отличается от 227. Обычно
хватает приблизительно 30 тиков между HR и началом SP и тоже значение
между концом SP и HFL. И они должны делиться на 8. Неужели все?

Нет. Теперь давайте проделаем следующее, 936 % 8 = 0, (936 + 32) % 8 = 0 тоже.
Но 936 + 32 = 968, 968 + 227 = 1195, 1195 + 32 = 1227. Хм, неплохо. Но не
делится на 8, поэтому округляем до 1232.

Но теперь, возможно, у нас появилась проблема, синхроимпульс больше не
расположен прямо посередине между h и H. К счастью, взяв калькулятор,
мы находим, что 1232 — 32 = 1200 тоже делится на 8 и (1232 — 32) — 968 = 232
еще приемелимо, соответствуя синхроимпульсу длительностью 3,57 микросекунд.

Кроме того, 936/1232 0.76 или 76%, не сильно отличается от 80%, так что все
должно быть в порядке.

Более того, при использовании текущей длины кадра , мы устанавливаем для
монитора частоту синхронизации в 52.7КГц (= 65МГц/1232), что находится
в пределах способностей нашего монитора. Без проблем.

Имея в виду упомянутые выше правила, 936*75%=702, Это наше новое разрешение
по вертикали. А 702 * 1.05 = 737 — наше новая вертикальная длина кадра.

Частота обновления экрана = 65МГц/(737*1232)=71.6Гц. Пока все хорошо.

Диаграмма вертикального синхроимпульса аналогична:

Синхроимпульс начинается сразу же после данных. VGT — запас по времени для
синхроимульса. Большинство мониторов довольствуются VGT=0 (нет запаса) и этот
случай мы будем использовать в нашем примере. Некоторым мониторам требуется
2 или 3 тика и ничего страшного, если придется их добавить.

Возвращаясь к нашему примеру: исходя из определения длины кадра, вертикальный
тик это время необходимое для прохождения полного горизонтального кадра. Таким
образом, в нашем примере он равен 1232/65Mhz=18.95us.

По опыту, вертикальный синхроимульс находится в пределах от 50 до 300 мкс.
Давайте, для примера возьмем 150 мкс, что состовляет 8 вертикальных импульсов
(150us/18.95us 8).

Некоторые производители вместо количества точек любят приводить кадровые
характеристики в виде временных параметров. Вы можете встретиться со
следующими терминами:

active time (VAT)

Связанно с VR, но в милисекундах. VAT * VSF = VR.

blanking time (VBT)

Связанно с (VFL — VR), но в милисекундах. VBT * VSF =
(VFL — VR).

front porch (VFP)

Это просто VGT.

sync time

Это просто VSP.

back porch (VBP)

Это временной «запас» после вертикального синхроимпульса.
Часто равен 0.

NextPrevious

Для чего нужна синхронизация по вертикали в играх

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

Благодаря ей во время игры не возникают никакие погрешности на экране, картинка стабильная и не имеет разрывов. Недостатком является то, что частота кадров ограничена на пределе 60 Гц, поэтому более требовательные игроки могут ощутить так называемый input lag, то есть легкую задержку при перемещении в игре с помощью мыши (можно приравнять к искусственному сглаживанию движения мыши).

Отключение вертикальной синхронизации также имеет свои плюсы и минусы. В первую очередь предоставляется неограниченная частота кадров FPS и тем самым полностью убираем упомянутый input lag. Это удобно в играх типа Counter-Strike, где важна реакция и точность. Передвижение и прицеливание очень четкие, динамические, каждое движение мыши происходит с высокой точностью. В некоторых случаях сможем получить большую частоту FPS, так как V-Sync в зависимости от видеокарты может немного уменьшить производительность оборудования (разница порядка 3-5 FPS). К сожалению, недостатком является то, что без вертикальной синхронизации получаем эффект разрыва экрана. При поворотах или смене движения в игре мы замечаем, что изображение разрывается на две или три горизонтальные части.

Как включить и отключить сглаживание кадров в nVidia

Чтобы включить или выключить вертикальную синхронизацию, необходимо поработать над параметрами самой видеокарты. В графических адаптерах от nVidia этот параметр можно настроить с помощью программного обеспечения или драйвера. Который именуется как «Панель управления nVidia».

Итак:

  1. Выберите внизу экрана стрелочку, чтобы открыть список программ, работающих в фоновом режиме;
  2. Выберите строку под названием «Панель управления NVIDIA»;

  3. Затем переходим слева в панели навигации в блок «Параметры 3D» и выбираем «Управление…»;

  4. Затем справа нужно выбрать параметр «Вертикальный синхроимпульс»;

  5. Установите в нём значение «Вкл» и внизу нажмите кнопку «Применить».

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

Что такое вертикальная синхронизация?

Если перефразировать определение вертикальной синхронизации из Википедии, всё равно мало кто поймёт суть этой настройки. Для лучшего понимания приведём примеры того, что она даёт при активации. Практически во всех интерфейсах вертикальная синхронизация имеет название VSync или V-Sync. На тему полезности включения синхронизации до сих пор ведутся споры на игровых форумах.

Сторонники Утверждают, что эта функция исключительно полезна для производительности игр и качественного отображения кадра
Противники Доказывают, что при её активации практически ничего не происходит. Всё чаще встречаются статьи в игровом мире, где под определённые игры специалисты рекомендуют отключать V-Sync. Так вы избавитесь от фризов и лагов в игре.

Все современные бюджетные мониторы справляются с обновлением кадра (его смене) с частотой в 60 герц. Что значит 60 раз за 1 секунду. Если перевести это значение в миллисекунды, получится — 16 мс каждое обновление. Когда вертикальная синхронизация активирована, частота смены кадра напрямую зависит от смены кадров монитором. Обработка кадра может происходить быстрее. К примеру, за 13 или 14 миллисекунд. В этом случае никаких задержек или «лагов» в игре не произойдёт.

График включенной и выключенной вертикальной синхронизации

Но если видеокарта не справляется с обработкой кадра в игре и этот процесс займёт больше, чем 16 миллисекунд, то ей придётся ждать следующего цикла обновления кадра. В таком случае на экране будут происходить небольшие задержки, фризы и т. п. Также можно сказать, что при включении вертикальной синхронизации, время рендеринга будет всегда переменным. Ещё при включенной функции на слабых конфигурациях ПК могут возникать так называемые Input-лаги. Когда время отклика объекта в игре или персонажа отстаёт от времени нажатия на клавишу.

Все вышеописанные последствия включенной V-Sync являются главными причинами того, что профессиональные киберспортсмены играют без этой функции. Возникает вопрос: тогда для чего она вообще существует? Она необходима для сглаживания изображения или кадра игры. Наверняка вы замечали раньше, как кадр буквально рассыпался у вас на глазах.

Разрыв кадра в игре

Или он делился на части. Если вы часто с таким сталкиваетесь, то после включения V-Sync разрывы пропадут, а смена кадров будет значительно сглажена.

Вариант 2: AMD

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

  1. Откройте «Пуск» и отыщите там программу настройки AMD. Сделать это можно и путем нажатия ПКМ по пустому месту на рабочем столе точно так же, как это происходило в случае с NVIDIA.

Вертикальная синхронизация v-sync

После появления окна конфигурирования перейдите на вкладку «Игры».

Вертикальная синхронизация v-sync

Там вас интересует блок «Общие настройки».

Вертикальная синхронизация v-sync

Разверните пункт «Ждать вертикального обновления».

Вертикальная синхронизация v-sync

Теперь можно выбрать параметр «Всегда отключено» или «Выкл., если не указано приложением».

Вертикальная синхронизация v-sync

Такая же настройка доступна и для каждого отдельного приложения, но сначала его придется добавить в том же разделе «Игры».

Вертикальная синхронизация v-sync

Что делать с V-SYNC, если у меня G-SYNC? Оставить включенным или отключить его?

Это самая распространенная дилемма владельцев мониторов с G-SYNC. Принято думать, что эта технология полностью заменяет классическую V-SYNC, которую можно полностью отключить в панели управления NVIDIA или просто проигнорировать.

Сначала нужно понять разницу между ними. Задача обеих функций теоретически та же – преодоление эффекта разрыва экрана. Но способ действия существенно отличается.

V-SYNC синхронизирует кадры, подстраивая их к постоянной частоте обновления монитора. Следовательно, функция действует в качестве посредника, захватывая картинку и, соответственно, отображение кадра, так чтобы адаптировать их к постоянной частоте кадров, тем самым предотвратить разрывы изображения. В итоге это может привести к возникновению input lag (задержки), потому что V-SYNC сначала должен «захватить и упорядочить» изображение, а только потом его вывести на экран.

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

Вся проблема заключается в том, что работает G-SYNC хорошо только в случае, когда FPS находится в поддерживаемом диапазоне частот обновления. Этот диапазон захватывает частоты от 30 Гц до того значения, сколько максимально поддерживает монитор (60Гц или 144Гц). То есть эта технология работает в полную меру, когда FPS не падает ниже 30 и не превышает 60 или 144 кадров в секунду в зависимости от максимально поддерживаемой частоты обновления. Выглядит очень хорошо, приведенная ниже инфографика, созданная сервисом BlurBusters.

Что произойдет, если частота кадров в секунду выйдет за пределы этого диапазона? G-SYNC не сможет настроить обновление экрана, поэтому что за пределами диапазона не работает. Вы обнаружите точно такие же проблемы как на обычном мониторе без G-SYNC и работать будет классическая вертикальная синхронизация. Если она будет выключена, то возникнуть разрывы экрана. Если будет включена, то эффекта разрыва не увидите, но появится iput lag (задержка).

Поэтому в ваших интересах оставаться в диапазоне обновления G-SYNC, который составляет минимум 30 Гц и максимум от того, сколько максимально поддерживает монитор (чаще всего 144 Гц, но и есть дисплеи 60 Гц). Как это сделать? С помощью соответствующих параметров вертикальной синхронизации, а также через ограничение максимального количества FPS.

Какой, следовательно, из этого вывод? В ситуации, когда количество кадров в секунду падает ниже 30 FPS нужно оставить по-прежнему включенную вертикальную синхронизацию. Это редкие случаи, но если до них дойдет, то V-SYNC гарантирует, что не возникнет эффект разрыва картинки. Если превышен верхний предел, то здесь все просто – нужно ограничить максимальное количество кадров в секунду, чтобы не приближаться к верхней границе, при пересечении которой включается V-SYNC, тем самым обеспечивая непрерывную работу G-SYNC.

Следовательно, если у вас монитор 144 Гц нужно включить ограничение FPS на уровне 142, чтобы не приближаться к верхнему пределу. Если монитор 60 Гц – установите предел 58. Если даже компьютер находится в состоянии сделать больше FPS, то он этого не сделает. Тогда не включится V-SYNC и будет активен только G-SYNC.

Включить или отключить V-Sync?

Нужна ли вертикальная синхронизация? Все зависит от наших индивидуальных предпочтений и того, что мы хотим получить. В многопользовательских играх в жанре Шутер от первого лица рекомендуется отключать вертикальную синхронизацию для увеличения точности прицела. Эффект разрыва экрана, как правило, не такой ощутимый, и когда привыкнем, то не будем даже его замечать.

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

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