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

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

Что же это такое, и зачем оно нужно, если многие "продвинутые специалисты" советуют отключать эту функцию?

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

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

FPS, Framerate, V-sync & ScreenTearing

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

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

Для чего же в настройках видеокарт сохранен что такое вертикальная синхронизация "вертикальная синхронизация", если монитор способен автоматически настраиваться в соответствии с установленным в драйвере режимом? Дело в том, что, несмотря на то, что видеокарты способны генерировать очень большое число кадров в секунду, мониторы не могут его качественно отображать, в результате чего возникают различные артефакты: Чтобы этого избежать, в видеокартах предусматривается режим предварительного опроса монитора о его вертикальной развертке, с которой и синхронизируется число кадров что такое вертикальная синхронизация секунду - всем знакомые fps.

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

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

Откуда же появляются артефакты изображения? В любой игре количество генерируемых кадров в секунду постоянно меняется, в зависимости от сложности картинки. Поскольку частота развертки у монитора постоянная, рассинхронизация между fps, передаваемыми видеокартой, и скоростью обновления монитора приводит к искажению изображения, которое как бы разделяется на несколько произвольных полос: К примеру, монитор работает с частотой развертки 75 Гц, а видеокарта в какой-либо игре генерирует сто кадров в секунду.

Иными словами, графический ускоритель работает примерно на треть быстрее, чем система обновления монитора. За время обновления одного экрана карта вырабатывает 1 кадр и треть следующего - в результате на дисплее прорисовывается две трети текущего кадра, а его треть заменяется третью кадра следующего.

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

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

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

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

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

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

К примеру, при частоте обновления 60 Гц число кадров в секунду должно быть равным 60 или 30 или 15 или 12 или 10 и. Если потенциальные возможности карты позволяют генерировать менее 60 и более 30 кадров в секунду, то реальная скорость рендеринга будет падать до 30 fps. Вернемся к нашему примеру с частотой развертки 75 Гц и кадрам в секунду. При включении вертикальной синхронизации артефакты изображения пропадают. Когда скорость рендеринга в особо сложных сценах снижается примерно до 60 fps и включена VSync, реальная же скорость расчета кадров падает почти вдвое.

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

Благодаря этому карта может не дожидаться освобождения что такое вертикальная синхронизация буфера и рассчитывать картинку в этом третьем буфере. Работает тройная буферизация следующим образом при скорости рендеринга 50 кадров в секунду и частоте обновления монитора 75 Гц.

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

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

Затем этот процесс повторяется с начала. Как нетрудно подсчитать, в данном случае два кадра выводятся на экран за три цикла обновления, что такое вертикальная синхронизация составляет две трети от частоты развертки, то есть, 50 кадров в секунду, а это и есть полная потенциальная скорость рендеринга для рассматриваемого примера.

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

После прочтения этого материала у некоторых может возникнуть вопрос: Однозначного ответа на этот вопрос.

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

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

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

Посмотрим на примере "Центра управления" для видеокарт ATI Catalyst Control Center что такое вертикальная синхронизация, как включить или отключить вертикальную синхронизацию и тройную буферизацию. Напомним, что Catalyst Control Center работает только при наличии установленной в системе среды. Этой утилитой пользоваться необязательно - все видеокарты ATI могут работать и с традиционной "Панелью управления" Control Panel. По умолчанию установлены следующие настройки: Это самая разумная настройка, и в подавляющем большинстве случаев ее изменять не стоит.

Если перевести рычажок в крайнее левое положение, то VSync будет принудительно отключена, в крайнее правое - принудительно включена.

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

Крайнее левое положение обеспечит максимально возможную производительность, а крайнее правое - наивысшее качество. Здесь же можно включить вертикальную синхронизацию, но если приложение ее не требует, то она использоваться не. Здесь сразу становится очевидным, почему эту возможность поддерживают далеко не все игры: Соответствующая строчка предусмотрена именно в настройках для этого API - второй пункт снизу.

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

Как видите, все довольно просто, но и неоднозначно