Что такое Vsync и стоит ли его использовать?

Vsync — это опция, которую вы увидите в большинстве видеоигр для ПК,(PC video games) а иногда даже в других приложениях. Но что такое вертикальная синхронизация(Vsync) ? Что оно делает? Вы должны включить или выключить его? 

Ответ на этот вопрос сложен, но как только вы поймете назначение вертикальной синхронизации(Vsync) , вы поймете, когда включить ее или отключить.

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

Первое, что вам нужно знать, это то, что ваш монитор может отображать определенное количество дискретных изображений каждую секунду. Это известно как частота обновления(refresh rate) , которая показывает, сколько раз монитор может полностью обновить изображение на экране чем-то новым.

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

Также есть много контента, записанного со скоростью 30 и 60 кадров в секунду. Видео с экшн-камеры(Action camera) , например, обычно записывается со скоростью 60 кадров в секунду.

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

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

Типичная частота обновления

Наиболее распространенная частота обновления дисплея составляет 60 Гц. То есть 60 обновлений в секунду. Большинство компьютерных мониторов и телевизоров предлагают по крайней мере это. 

Вы также можете купить компьютерные мониторы с различными частотами обновления(refresh rates) , в том числе; 75 Гц, 120 Гц, 144 Гц, 240 Гц и 300 Гц. Могут быть и другие странные числа, но они типичны, поскольку более высокие частоты обновления встречаются реже за пределами специализированных игровых систем. 

Почти все телевизоры имеют частоту 60 Гц, а телевизоры с частотой 120 Гц(120 Hz) в настоящее время выходят на массовый рынок вместе с игровыми консолями последнего поколения, которые поддерживают эту частоту обновления.

Соответствие частоты (Rate)кадров (Frame) частоте(Rates) обновления

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

Съемка со скоростью 24 кадра в секунду представляет собой проблему, поскольку 24 не делится четко на 60. Есть разные способы решить эту проблему. Некоторые экраны используют форму преобразования видео, известную как «вытягивание», которая компенсирует несоответствие за счет запуска контента с несколько иной скоростью, чем предполагалось. 

Многие современные дисплеи также могут переключаться на разные частоты обновления. Таким образом, телевизор может переключиться на 48 Гц или даже 24 Гц, чтобы получить идеальную синхронизацию с кадрами с частотой 24 кадра в секунду. Телевизорам с частотой 120 Гц(TVs) этого делать не нужно, так как 24 делится на 120 поровну.

Когда использовать вертикальную синхронизацию

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

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

Когда вы активируете Vsync , ваш графический процессор(GPU) отправляет кадр для отображения только тогда, когда монитор готов отрисовать новый кадр, что также эффективно ограничивает скорость рендеринга кадров. Но на самом деле это может вызвать еще одну проблему, связанную с «буферизацией» кадров. Далее мы обсудим два распространенных типа буферизации кадров.

Двойная и тройная буферизация(Versus Triple- Buffered Vsync) Vsync

«Буфер» — это область памяти, обозначенная как область ожидания для чтения, когда какое-либо другое устройство или процесс будет готово для этого. Когда ваш GPU визуализирует кадр, он записывается в буфер. Затем экран считывает кадр из этого буфера, чтобы отрисовать его. 

Так называемая «двойная буферизация» сегодня является нормой. Есть два буфера, которые по очереди действуют как «передний» и «задний» буфер. Дисплей рисует кадр из переднего буфера, а графический процессор(GPU) записывает в задний буфер. Затем два буфера меняются ролями, и процесс повторяется.

Без Vsync два буфера можно поменять местами в любое время. Поэтому возможно, что экран будет отрисовывать часть каждого буфера в кадре, что приведет к разрыву. Когда вы включаете Vsync , этот разрыв исчезает. Однако, если графическому процессору(GPU) не удается закончить запись в задний буфер за 1/60 секунды, этот кадр пропускается. Это приводит к эффективным 30 кадрам в секунду. 

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

Тройная буферизация(Triple-buffering) добавляет второй задний буфер, а это означает, что всегда есть кадр, готовый для перекачки в передний буфер, что позволяет иметь нечетные числа, такие как 45 или 59 кадров в секунду на экране с частотой 60 Гц. Если у вас есть возможность, тройная буферизация всегда будет хорошим вариантом.

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

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

У Nvidia(Nvidia) есть AdaptiveSync и FastSync , каждый из которых имеет собственный интеллектуальный подход к Vsync . Первый включает Vsync только в том случае, если частота кадров в игре равна или превышает частоту обновления. Если оно падает ниже этого значения, Vsync отключается, что устраняет задержку буфера. Последнее решение лучше, так как оно включает тройную буферизацию и обеспечивает самую высокую частоту кадров без разрывов.

У AMD(AMD) есть Enhanced Sync , который похож на AdaptiveSync .

Vsync против переменной частоты обновления

Существует мощная альтернатива Vsync , известная как переменная частота обновления. Технология Nvidia известна как G-Sync , и AMD разработала FreeSync , но сделала ее бесплатной и открытой для всех.

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

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

Итак, подытожим, что вам нужно знать об использовании Vsync :

  • Если ваша игра не может поддерживать частоту кадров, равную или превышающую частоту обновления вашего монитора, включите тройную буферизацию или уменьшите частоту обновления.
  • Если ваш графический процессор(GPU) предлагает более продвинутую версию Vsync , стоит попробовать.
  • G-Sync и FreeSync — желательные альтернативы Vsync, если у вас есть к ним доступ.
  • Если вам нужна минимальная задержка ввода для соревновательных игр, отключите вертикальную синхронизацию(Vsync) и живите с разрывами экрана, если переменное обновление недоступно.

Это основы того, что такое Vsync . Теперь выходите и получайте удовольствие от игрового процесса без слез.



About the author

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



Related posts