Vsync — это опция, которую вы увидите в большинстве компьютерных видеоигр, а иногда и в других приложениях. Но что такое Vsync? Что оно делает? Включить или выключить?
Ответ на этот вопрос сложен, но как только вы поймете цель Vsync, вы поймете, когда включить или оставить.
Что такое Vsync?
Первое, что вам нужно знать, это то, что ваш монитор может отображать определенное количество дискретных изображений каждую секунду. Это известно как частота обновления , то есть сколько раз монитор может полностью обновить изображение на экране, добавив что-то новое.
Если вы еще не знаете, иллюзия движущихся изображений на экране создается путем быстрого отображения последовательности неподвижных изображений. Каждое изображение показывает объект в разный отрезок времени. Большинство фильмов, которые вы смотрите в кинотеатре, снимаются со скоростью 24 кадра в секунду. Таким образом, вы видите 24 отрезка времени в каждой секунде.
Также есть много контента, записанного со скоростью 30 и 60 кадров в секунду. Например, съемка с экшн-камеры обычно записывается со скоростью 60 кадров в секунду.
Чем больше уникальных кадров можно показать за одну секунду, тем более плавным и резким будет движение. Ваш мозг объединяет кадры вместе и воспринимает это как движущуюся картинку.
В компьютерной системе графический процессор (графический процессор) подготавливает кадры для отправки на дисплей. Однако, если дисплей не готов к новому кадру, потому что он все еще работает над рисованием предыдущего, это может вызвать ситуацию, когда части разных кадров отображаются одновременно. Vsync предназначен для предотвращения этой ситуации, синхронизируя кадры от графического процессора с частотой обновления монитора.
Типичная частота обновления
Наиболее распространенная частота обновления дисплея — 60 Гц. То есть 60 обновлений в секунду. Большинство компьютерных мониторов и телевизоров предлагают по крайней мере это.
Вы также можете купить компьютерные мониторы с различными частотами обновления , в том числе: 75 Гц, 120 Гц, 144 Гц, 240 Гц и 300 Гц. Могут быть и другие необычные числа, но они типичны, а более высокие частоты обновления встречаются реже за пределами специализированных игровых систем.
Почти все телевизоры представляют собой устройства с частотой 60 Гц, а телевизоры с частотой 120 Гц теперь выходят на основной рынок вместе с игровыми консолями последнего поколения, которые поддерживают эту частоту обновления.
Согласование частоты кадров с частотой обновления
Частота обновления экрана не обязательно должна точно соответствовать частоте кадров контента. Например, если вы воспроизводите видео с частотой 30 кадров в секунду на дисплее с частотой 60 Гц, вам просто нужно отобразить два идентичных кадра с частотой 60 Гц, всего 30 уникальных кадров.
Видеозапись со скоростью 24 кадра в секунду представляет собой проблему, поскольку 24 кадра не делятся четко на 60. Есть разные способы решить эту проблему. На некоторых экранах используется форма преобразования видео, известная как «раскрытие», которая компенсирует несоответствие за счет запуска содержимого с несколько иной скоростью, чем предполагалось.
Многие современные дисплеи также могут переключаться на разную частоту обновления. Таким образом, телевизор может переключиться на 48 Гц или даже 24 Гц, чтобы получить идеальную синхронизацию с кадром 24 кадра в секунду. Телевизоры с частотой 120 Гц не должны этого делать, поскольку 24 равномерно делятся на 120.
Когда использовать Vsync
В видеоиграх кадры создаются не так упорядоченно, как в фильмах или видео. Оставшись без каких-либо ограничителей, ЦП, графический процессор и игровой движок стараются выдать как можно больше кадров. Однако, поскольку рабочая нагрузка, которую игровой движок возлагает на эти компоненты, может варьироваться, частота кадров может колебаться.
Как упоминалось выше, когда графический процессор отправляет кадры, которые не синхронизированы с частотой обновления монитора, вы получите характерный вид разрывов экрана, когда разные части изображения не совпадают.
Когда вы активируете Vsync, ваш графический процессор отправляет кадр для отображения только тогда, когда монитор готов отрисовать новый кадр, что также эффективно ограничивает скорость рендеринга кадров. Но на самом деле это может вызвать еще одну проблему, связанную с «буферизацией» кадров. Далее мы обсудим два распространенных типа буферизации кадров.
Двойная или тройная буферизация Vsync
«Буфер» — это область памяти, которая обозначена как область ожидания для чтения, когда какое-либо другое устройство или процесс будет готов для этого. Когда ваш графический процессор визуализирует кадр, он записывается в буфер. Затем экран считывает кадр из этого буфера, чтобы нарисовать его.
Так называемая «двойная буферизация» сегодня является нормой. Есть два буфера, которые по очереди действуют как «передний» и «задний» буфер. Дисплей рисует кадр из переднего буфера, а графический процессор записывает в задний буфер. Затем два буфера меняются ролями, и процесс повторяется.
Без Vsync два буфера можно поменять местами в любое время. Таким образом, возможно, что экран будет рисовать часть каждого буфера в кадре, что приведет к разрыву изображения. Когда вы включаете Vsync, разрывы исчезают. Однако, если графическому процессору не удается завершить запись в задний буфер за 1/60 секунды, этот кадр пропускается. Это приводит к эффективным 30 кадрам в секунду.
Если ваш компьютер не может стабильно отображать 60 кадров в секунду, вы можете столкнуться либо с заблокированными 30 кадрами в секунду, либо с сильно колеблющейся частотой кадров в диапазоне от 30 до 60.
Тройная буферизация добавляет второй задний буфер, что означает, что всегда есть кадр, готовый к замене на передний буфер, что позволяет иметь нечетные числа, такие как 45 или 59 кадров в секунду на экране с частотой 60 Гц. Если вам предоставляется возможность, тройная буферизация всегда будет хорошим вариантом.
Расширенные типы Vsync
Производители видеокарт продолжают бороться с разрывами экрана и другими артефактами, вызванными разрывом экрана. Каждый крупный производитель представил расширенные версии Vsync, которые пытаются предложить все преимущества без недостатков.
У Nvidia есть AdaptiveSync и FastSync, у каждой из которых свой интеллектуальный подход к Vsync. Первый включает Vsync только в том случае, если частота кадров игры равна или превышает частоту обновления. Если он упадет ниже этого значения, Vsync отключается, устраняя задержку буфера. Последнее решение лучше, поскольку оно обеспечивает тройную буферизацию и максимальную частоту кадров без разрывов.
AMD имеет Enhanced Sync, которая похожа на AdaptiveSync.
Vsync в сравнении с переменной частотой обновления
Существует мощная альтернатива Vsync, известная как переменная частота обновления. Технология Nvidia известна как G-Sync, а AMD разработала FreeSync , но сделала ее бесплатной и открытой для всех.
Обе технологии позволяют монитору и графическому процессору взаимодействовать друг с другом таким образом, что кадры синхронизируются с почти безупречной точностью. Другими словами, здесь устранены все недостатки Vsync.
Главный нюанс в том, что сам монитор должен поддерживать эту технологию. Редко можно найти мониторы, поддерживающие оба стандарта, но Nvidia недавно уступила и добавила поддержку FreeSync для определенных мониторов. Вы также можете попытаться активировать FreeSync на мониторах, не включенных в белый список Nvidia, но в некоторых случаях результаты могут быть не очень хорошими.
Итак, подведем итоги того, что вам нужно знать об использовании Vsync:
- Если ваша игра не может поддерживать частоту кадров, равную или превышающую частоту обновления вашего монитора, включите тройную буферизацию или уменьшите частоту обновления.
- Если ваш графический процессор предлагает более продвинутую версию Vsync, стоит попробовать.
- G-Sync и FreeSync являются желательными альтернативами Vsync, если у вас есть к ним доступ.
- Если вам нужна минимальная задержка ввода для соревновательных игр, отключите Vsync и живите с разрывом экрана, если переменное обновление недоступно.
Это основы того, что такое Vsync. А теперь выходите и получайте удовольствие от игры без слез.