Если коротко: вертикальная синхронизация — это не один переключатель, а выбор, чем платить, когда частота кадров не совпадает с частотой монитора. Вариантов платы три: разрывы картинки, задержка ввода или неровное движение. Обычный V-Sync платит задержкой. Fast Sync и Enhanced Sync хороши, когда кадров намного больше, чем герц. Адаптивная синхронизация и «половина частоты» нужны, когда кадров меньше. Если у монитора есть G-Sync или FreeSync, большая часть этих вопросов снимается, и остаётся одна простая связка.
Я веду канал «Во что поиграть», и вопрос «вертикальная синхронизация — включать или нет» мне задают чаще, чем про любые настройки графики. Однозначного «да» или «нет» тут нет. Зато есть одно соотношение, из которого ответ получается сам: сколько кадров выдаёт видеокарта и сколько раз в секунду обновляется экран.
Три беды, из которых приходится выбирать две
Монитор на 60 Гц рисует новую картинку каждые 16,7 мс, строка за строкой сверху вниз, и не ждёт ничего. Видеокарта отдаёт кадры, когда успеет. Если новый кадр подменили посреди прохода, верх экрана остаётся от старого кадра, низ берётся из нового, и на стыке виден шов. Это и есть разрыв. Подробно, с вариантом двойной буферизации и ступеньками «60 → 30 → 20», мы разбирали механизм в статье про ограничение FPS. Здесь важен вывод из него.
Пока у монитора жёсткое расписание, у вас всего три способа обойтись с несовпадением темпов:
1. Показывать как есть. Кадр выводится сразу, даже посреди прохода. Задержка минимальная, зато видны разрывы.
2. Ждать. Кадр меняется только между проходами. Разрывов нет, зато кадры встают в очередь, и время от нажатия кнопки до картинки растёт.
3. Выбрасывать или повторять. Лишние кадры отбрасываются, недостающие показываются дважды. Разрывов нет и очередь не копится, но движение идёт неравными шагами. В английских обзорах это называют judder.
Каждый режим синхронизации в драйвере — это просто правило, какую из трёх бед и в какой ситуации принять. Причём правило почти всегда зависит от того, где вы сейчас: выше частоты монитора или ниже её. Поэтому дальше разбираем эти две ситуации отдельно.
Кадров больше, чем герц: Fast Sync и Enhanced Sync
Типичная картина в киберспортивных играх: на мониторе 60–144 Гц игра легко выдаёт 300 кадров. Обычный V-Sync в такой ситуации хуже всего. NVIDIA в техническом описании архитектуры Pascal объясняет это так: при включённом V-Sync «обратное давление» доходит по конвейеру до самого игрового движка, и вся система замедляется до частоты экрана. Движок готовит кадр заранее, тот ждёт своей очереди, а к моменту показа уже устарел.
Fast Sync (в панели NVIDIA это пункт «Быстро» в настройке вертикальной синхронизации) разрывает эту связь. Игра считает кадры так, будто синхронизация выключена, а драйвер держит в памяти последний полностью готовый кадр и в момент обновления экрана отдаёт именно его. Остальные кадры выбрасываются. В том же документе NVIDIA приводит замер на Counter-Strike: Global Offensive: Fast Sync дал примерно на 8 мс больше задержки, чем V-Sync выключенный, но без разрывов.
У AMD похожая идея называется Enhanced Sync («Улучшенная синхронизация»). AMD описывает её в справке по настройкам Adrenalin как альтернативный режим V-Sync, который убирает разрывы и не ограничивает частоту кадров. На странице технологии есть свой замер для случая, когда кадров больше, чем герц: 39,2 мс с Enhanced Sync, 80,7 мс с обычным V-Sync и 40,1 мс без синхронизации (Halo Infinite, 1080p, Radeon RX 6750 XT). То есть почти как без синхронизации, и вдвое быстрее обычного V-Sync. Ниже частоты монитора, по формулировке AMD, режим «делает упор на задержку», то есть разрывы там возможны.
Подвох: почему при 90 кадрах на 60 Гц Fast Sync дёргается
Здесь и кроется главное, о чём редко говорят. Fast Sync выбрасывает лишние кадры, и неважно, сколько их. Посчитаем на мониторе 60 Гц при 90 кадрах в секунду. Кадры готовы каждые 11,1 мс, экран обновляется каждые 16,7 мс. На один проход экрана приходится полтора кадра, поэтому показанные кадры чередуются: между соседними на экране проходит то 11 мс игрового времени, то 22. Экран меняет картинку ровно, а объекты в игре прыгают то на шаг, то на два. Глаз видит это как подёргивание при плавном повороте камеры.
При 300 кадрах в секунду тот же сбой не больше одного интервала рендера, то есть около 3 мс на фоне 16,7 мс экрана, и заметить его почти невозможно. Отсюда правило без всякой магии: неровность Fast Sync и Enhanced Sync равна времени одного кадра. Чем больше запас кадров над частотой монитора, тем лучше они работают. Чуть выше герцовки лучше их не включать.

Кадров меньше, чем герц: адаптивная синхронизация и «половина частоты»
Обратная ситуация характерна для тяжёлых одиночных игр: монитор 60 Гц, а игра выдаёт 40–55 кадров. Обычный V-Sync с двойной буферизацией тут проваливается ступенькой до 30, и это известная беда. Но даже с тройной буферизацией, где ступеньки нет, остаётся неочевидная проблема.
Возьмём 45 кадров на 60 Гц с V-Sync. Три кадра приходится на четыре прохода экрана, значит один кадр висит два прохода (33,3 мс), а два других по одному (16,7 мс). Ритм получается «длинный, короткий, короткий», и движение на экране идёт рывками. Ровные 30 кадров, где каждый кадр висит ровно 33,3 мс, выглядят спокойнее, хотя кадров меньше. Отсюда парадокс, знакомый всем, кто играл на 60-герцевом мониторе: стабильные 30 иногда приятнее «плавающих» 45.
Под эти два случая у NVIDIA есть два режима:
Адаптивная. Пока кадров не меньше частоты монитора, V-Sync включён и разрывов нет. Как только частота кадров проседает, синхронизация отключается: появляются разрывы, но нет ступеньки и лишней задержки. Это компромисс для тех, кто держит 60 кадров почти всегда и проседает лишь изредка.
Адаптивная (половина частоты обновления). То же самое, только порог вдвое ниже: на 60 Гц игра зафиксирована на 30 кадрах. Это вариант для слабого ПК, ноутбука или игры с геймпадом, где ровность движения важнее отклика.
У Radeon отдельного режима «половина частоты» нет, но то же самое делается ограничителем кадров. В справке AMD это Frame Rate Target Control: ставим цель 30 кадров и включаем V-Sync. Ограничитель держит ровный ритм, а синхронизация убирает шов.
Оконный режим: почему «без рамки» часто сам убирает разрывы
Многие замечали, что в режиме «окно без рамки» разрывы исчезают, хотя V-Sync выключен. Это не совпадение. В окне игра рисует не прямо на экран, а отдаёт кадр Windows. Рабочий стол собирает кадр из всех окон (этим занимается DWM, диспетчер окон рабочего стола) и выводит его на экран целиком, между проходами. По сути это та же синхронизация, просто встроенная в систему, и платят за неё той же задержкой.
Но правило «в окне не рвётся» больше не универсально. Microsoft в документации по экранам с переменной частотой пишет, что для них нужно разрешить разрывы, то есть поддержать режим «vsync-off», и советует ставить соответствующий флаг и в окне, в том числе без рамки. С этим флагом игра выводит кадры без ожидания даже в окне. А в рекомендациях по flip-модели вывода Microsoft описывает режим Independent Flip, в котором кадры окна идут на экран напрямую, минуя сборку рабочего стола, «с той же эффективностью, что и эксклюзивный полноэкранный режим».
Практический вывод такой. Если современная игра в окне без рамки всё-таки рвётся, это не поломка: она вышла в прямой вывод. А если старая игра в окне выглядит гладко, но «ватно», это задержка сборки рабочего стола, и полноэкранный режим может ощущаться отзывчивее.
Если у монитора есть G-Sync или FreeSync
С переменной частотой обновления (VRR) третий выход из списка выше становится не нужен: монитор не обновляется по таймеру, а ждёт готовый кадр. Ни разрывов, ни очереди, ни неровных шагов, пока частота кадров внутри рабочего диапазона монитора. Как это устроено, что такое LFC и чем отличаются логотипы, подробно разобрано в статье про G-Sync и FreeSync.
Для нашей темы важна верхняя граница. Когда игра упирается в максимум монитора, VRR подстраиваться больше некуда, и снова встаёт тот же выбор из трёх бед. Поэтому популярная связка выглядит так: VRR включён, V-Sync включён в драйвере, лимит кадров на 3–4 ниже частоты монитора. Лимит держит игру внутри диапазона, где V-Sync ничего не делает и задержки не добавляет. V-Sync в драйвере страхует от редких выбросов за потолок, чтобы там не появился шов. Цифры и замеры, на которых основано это правило, мы приводили в статье про ограничение FPS, повторять их не буду.
У AMD на странице Enhanced Sync отдельно отмечено, что режим дополняет FreeSync: даёт картинку без разрывов выше диапазона FreeSync. Это альтернатива лимиту для тех, кто не хочет ограничивать кадры, но с тем же подвохом про неровный шаг, если запас над герцовкой небольшой.
Что выбрать: шпаргалка по ситуациям
Ситуация → что включить → чем платим
Киберспорт, кадров в 2+ раза больше герц, монитор без VRR → Fast Sync / Enhanced Sync → лёгкая неровность, несколько мс
Киберспорт, важна каждая миллисекунда → V-Sync выключен → разрывы
Одиночная игра, почти всегда 60 из 60 → адаптивная V-Sync → разрывы при просадках
Слабый ПК, кадры гуляют 35–50 на 60 Гц → половина частоты или лимит 30 + V-Sync → вдвое меньше кадров, зато ровно
Игра с геймпадом, разрывы раздражают → обычный V-Sync → задержка
Монитор с G-Sync / FreeSync → VRR + V-Sync в драйвере + лимит на 3–4 ниже герц → почти ничем

Где искать. У NVIDIA все варианты собраны в одном пункте «Вертикальный синхроимпульс» в разделе «Управление параметрами 3D»: там же «Быстро», «Адаптивная» и «Адаптивная (половина частоты обновления)». Удобнее задавать их для конкретной игры, а не глобально. У AMD Enhanced Sync включается в разделе «Графика» в Adrenalin, тоже для всех игр или для одной. AMD отдельно предупреждает, что Enhanced Sync не поддерживает OpenGL и не предназначен для видеоплееров: там он может вызывать мерцание, поэтому проигрыватели лучше исключить из профиля. И главное правило: синхронизация включается либо в игре, либо в драйвере, а не в обоих местах сразу. Иначе два механизма начинают мешать друг другу.
Три мифа о вертикальной синхронизации
«V-Sync всегда добавляет огромную задержку». Огромную он добавляет в конкретном случае: когда кадров больше, чем герц, и очередь заполнена. Именно этот случай AMD и показывает своими 80,7 мс против 40,1. Если кадров меньше частоты экрана, очереди просто неоткуда взяться. Подробнее о том, откуда берутся миллисекунды между мышью и пикселем, мы писали в разборе input lag.
«Fast Sync — это V-Sync без минусов». Минус у него есть, просто другой: вместо задержки неровный шаг движения. При большом запасе кадров его не видно, у самой герцовки он заметен сильнее, чем подтормаживание обычного V-Sync. А если игра и так рвётся из-за нестабильного времени кадра, синхронизация не поможет: это уже статтер, у которого свои причины.
«Разрывы бывают только при FPS выше герцовки». Нет. Без синхронизации шов появляется при любом несовпадении: каждый новый кадр, подменённый посреди прохода, даёт свой разрыв. При высокой частоте кадров швов много, но соседние кадры почти одинаковы, и ступенька на стыке узкая. При низкой швов меньше, зато между кадрами проходит больше времени, камера успевает повернуться дальше, и сдвиг на шве шире. Поэтому на 40 кадрах разрывы раздражают не меньше, чем на 300.
Коротко
— Вертикальная синхронизация — это выбор между разрывами, задержкой и неровным движением, а не «вкл/выкл».
— Решает соотношение: кадров больше частоты монитора или меньше.
— Выше частоты: Fast Sync (NVIDIA) или Enhanced Sync (AMD) дают почти задержку «без синхронизации» без разрывов, если запас кадров большой. Неровность шага равна времени одного кадра.
— Ниже частоты: адаптивная V-Sync, либо ровные 30 кадров через «половину частоты» или лимит. Стабильные 30 часто приятнее плавающих 45.
— В окне без рамки систему синхронизирует сам рабочий стол Windows, но современные игры умеют выводить кадры напрямую, и тогда разрывы возвращаются.
— С G-Sync или FreeSync всё проще: VRR, V-Sync в драйвере как страховка и лимит на 3–4 кадра ниже частоты монитора.


Пока нет комментариев