Перевод wait for vsync

Что такое VSync?

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

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

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

Красота, не правда-ли, так в чем же проблема? Она возникает тогда, когда ваша видеокарта генерирует больше кадров в секунду, чем может вывести монитор на экран. В этом случае вы можете наблюдать разрыв картинки на мониторе.

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

Как же решить эту проблему? Есть несколько технологий, устраняющие ее
— это VSync, Gsync или FreeSync.

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

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

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

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

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

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

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

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

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

Источник

Что такое VSync и когда следует включать или выключать VSync?

Если вы играете в игры, то скорее всего видели функцию в настройках VSync. Это также будет отображаться, если вы работаете с 3D-графикой.

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

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

Поэтому вы можете увидеть два разделенных изображения и называется это разрывом экрана. (смотрите ниже рис.).

VSync или Vertical Sync называют функцией отображения и чаще всего встречаются в 3D-видеоиграх. Это позволяет геймеру синхронизировать частоту кадров в игре с частотой обновления монитора. Результатом является отличная визуальная синхронность и хороший игровой комфорт.

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

Одиночная Буферизация

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

Двойная Буферизация

Двойная буферизация состоит из двух буферов, называемых «Front Buffer» и «Back Buffer».

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

Передний буфер становится задним буфером и наоборот. Таким же образом программа рисования продолжает рисовать новый задний буфер. Передний буфер выходит на экран, и новый задний буфер становится новым передним буфером. Этот вид обмена происходит все время. Надеюсь не запутал 🙂

Тройная Буферизация — VSync

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

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

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

Хотя с тройной буферизацией может потребоваться современная видеокарта. Вам также необходимо иметь больше памяти.

Существуют различные альтернативы для VSync, такие как Nvidia G-Sync, AMD FreeSync и AMD Enhanced Sync.

VSync — Плюсы И Минусы

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

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

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

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

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

Источник

Что такое G-Sync, FreeSync, V-Sync и HDMI VRR? — Разбор

Всех ПК-геймеров планеты Земля объединяет одна проблема — вертикальные разрывы изображения. И вроде бы есть куча технологий которые решают эту проблему:

  • V-Sync,
  • G-Sync,
  • FreeSync
  • А ведь еще есть Adaptive Sync
  • А в HDMI 2.1 недавно добавили VRR.

Но легче от этого не становится. Только больше путаешься. Чем все эти технологии отличаются? Какую выбрать видеокарту и монитор? И будет ли это всё работать на телевизоре?

Давайте сегодня раз и навсегда разберемся в технологиях адаптивной синхронизации изображения.

Для тех кто не в курсе. А в чём собственно проблема?

Чтобы изображение появилось на экране, должно произойти, как минимум, две вещи:

  • графический процессор должен подготовить кадр и передать его на монитор,
  • ваш монитор должен показать этот кадр.

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

Обычные мониторы работают на частоте 60 Гц, то есть способны выводить 60 кадров в секунду, а игровые на 144 Гц и выше.

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

Иными словами, у монитора частота кадров постоянная, а у видеокарты переменная.

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

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

V-Sync

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

Работает эта штука достаточно топорно. Фактически она просто принуждает видеокарту выводить кадры с частотой кратной частоте обновления экрана. Например, если у вас монитор 60 Гц, то максимальное количество кадров в секунду тоже будет 60, даже если ваша видеокарта способна на большее. И в общем-то часто такое ограничение вполне уместно, если у видеокарты хватает мощи и нет просадок ниже 60 к/с, но если они есть — начинаются проблемы.

При включенной вертикальной синхронизации, следующее кратное значение — это 30 к/с. Поэтому даже если ваш фреймрейт просел фактически всего на пару кадров, вы всё равно увидите падение до 30 к/с. Такой перепад мало того, что большой и очень визуально ощутимый, так ещё и будет происходить с небольшим лагом. Поэтому если стабильного FPS в 60 к/с или 30 не достичь, то включать V-Sync вообще нет никакого смысла.

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

Но история с кратными значениями — не самая главная проблема технологии. Есть другой не очевидный недостаток: вертикальная синхронизация — увеличивает задержку ввода, то есть Input Lag.

Игра медленнее реагирует на ваши действия, всё происходит с задержками и как-то плывёт в молоке, поэтому прицелиться становится гораздо сложнее. Почему так происходит?

Это интересно, смотрите! Каждый кадр рассчитывается и выводится на экран через один и тот же конвейер. Упростим его до трёх этапов.

  • Каждое ваше действие, например щелчок мышки надо как-то интерпретировать и обновить состояние игры. За это отвечает центральный процессор (синяя полоса на картинке). Центральный процессор подготавливает кадры для графического процессора и помещает их в очередь рендеринга графического процессора.
  • Затем графический процессор (зелёная полоса) берет эти подготовленные кадры из очереди и рендерит их.
  • Только потом эти кадры выводятся на дисплей (серая полосочка на картинке).

Ну и в чём проблема, спросите вы? Дело в том, что ЦП не берется за подготовку следующего кадра, пока предыдущий не будет выведен на экран. Поэтому ограничивая количество выводимых кадров в угоду синхронизации с дисплеем, мы фактически увеличиваем задержки с которыми обновляется состояние игры! И если в каких-то простеньких играх типа пасьянса такие вещи допустимы, то в соревновательных играх вертикальная синхронизация может стать серьёзной помехой.

G-Sync

Но переживать не стоит, так как решение появилось еще в 2013 году. Именно тогда компания NVIDIA представила свою технологию адаптивной синхронизации — G-Sync. В отличие от старой технологии, G-Sync позволяет подстраивать не видеокарту под частоту обновления монитора, а наоборот заставляет монитор менять свою частоту под видеокарту!

Представляете? Так тоже можно было!

В результате мы получаем потрясающе плавную картинку без вертикальных разрывов и задержки ввода! Просто сказка! G-Sync также работает в огромном диапазоне частот. Изначально это было от 30 до 144 Гц, а сейчас уже есть поддержка до 360 Гц и может даже выше, тут скорее всё зависит от монитора.

А если фреймрейт падает ниже 60 Гц G-Sync умеет дублировать пропущенные кадры.

Получаются сплошные плюсы и проблема решена еще в 2013 году? Так почему же мы до сих пор об этом говорим?

Ну как сказать. Во-первых, эта технология закрытая, соответственно, G-Sync работает только с карточками NVIDIA, но это пол беды.

Все волшебные функции G-Sync стали возможны благодаря специальному чипу, который необходимо встроить в монитор. Естественно, эти чипы производит тоже NVIDIA и стоят они недешево. Поэтому мониторы с поддержкой G-sync в среднем стоят на 250-300$ дороже и таких моделей очень мало. То есть получилась классная, и для 2013 года революционная технология, но не универсальная и дорогая.

VESA Adaptive Sync

Поэтому уже спустя год, в 2014, Ассоциация стандартизации Video Electronics Standards Association или VESA представила открытую технологию Adaptive Sync, которая умеет, в принципе, всё то же самое, что и G-Sync, но без дорогостоящих чипов и работает на частотах от 9 до 240 Гц! Неплохо да?

Но для внедрения технологии нужно, чтобы её поддержку внедрили в прошивку и драйвер монитора, драйвер видеокарты, операционной системы и в игры!

А также необходимо наличие DisplayPort версии не ниже 1.2a, так как технология стала частью именно Display Port. Как видите, чтобы технология взлетела, нужно было проделать много работы. И этой работой занималась компания AMD.

AMD FreeSync

В 2015 году AMD внедрили Adaptive Sync в драйвера своих видеокарт и назвали технологию FreeSync. Реализация от AMD быстро получила очень широкое распространение. Добавить поддержку FreeSync в монитор оказалось настолько дешево, что сейчас сложнее найти игровой монитор без этой фичи, чем с ней.

Но AMD не остановились на просто внедрении стандарта от VESA. Также они добавили поддержку HDMI, начиная с версии 1.4. А в 2017 выпустили FreeSync 2, в который добавилась поддержка HDR и компенсацию низкой частоты кадров, как в G-SYNC.

Кстати, чуть позже, FreeSync 2 переименовали в в более элитное FreeSync Premium Pro, а обычный FreeSync для мониторов с частотой 120 Гц и выше стали называть FreeSync Premium. Хотя такие маркетинговые финты я не одобряю, но в остальном сплошной респект AMD за популяризацию стандарта.

Кстати, NVIDIA также в 2017 году добавила поддержку HDR и назвала это всё G-Sync Ultimate.

И вроде бы всё классно, в команде у красных и у зеленых есть по своей шикарной технологии. Но что делать, если у тебя видеокарта от NVIDIA, ты хочешь нормальную поддержку G-Sync, но покупать дорогущий монитор с этой технологией совсем не хочется? Или наоборот — не покупать же Radeon только потому что у тебя монитор с FreeSync?

До недавнего времени выбора не было никакого. Хочешь подешевле и побольше выбор мониторов — покупай Radeon. В другом случае, придется раскошелиться.

G-Sync Compatible

Но в 2019 году NVIDIA пошли навстречу покупателям и добавили поддержку стандарта VESA Adaptive Sync в драйвера для своих видеокарт серии RTX, а также для карточки GTX 1080. А значит теперь можно легко насладиться лучшим из двух миров: взять себе карточку от NVIDIA и монитор с FreeSync по вкусу. Вот только есть проблема. Если на FreeSync мониторе не написано G-Sync Compatible — значит он не был протестирован NVIDIA на совместимость и никаких гарантий, что всё будет работать нормально, вам никто не даёт. А NVIDIA тестирует далеко не все, и далеко не самые доступные модели.

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

С мониторами, кажется, разобрались. Но как быть, если хочется поиграть на большом экране телевизора через консоль или ПК. Будет ли работать адаптивная синхронизация? Спешу вас порадовать — будет! При условии что ваш ТВ оснащен портом HDMI версии 2.1, в который добавили технологию переменной частоты обновления VRR — Variable Refresh Rate.

Причём всё будет работать и с видеокартами от NVIDIA и с Radeon. Всё потому, что VRR — это та же самая технология VESA Adaptive Sync, но теперь она стала ещё и частью стандарта HDMI 2.1. Именно таким образом адаптивная синхронизация реализована в консолях нового поколения. А также, вы удивитесь, в Xbox One S и One X. Да, в коробки текущего поколения от Microsoft VRR завезли даже раньше, чем HDMI 2.1.

Итоги

Что, в итоге спустя 6 лет после своего появления, технология Adaptive Sync стала фактически отраслевым стандартом. Захватив видеокарты от AMD и NVIDIA, телевизоры и даже интегрированная графика от Intel в 11-м поколении процессоров теперь поддерживает эту технологию. А это значит, что в светлом будущем мы будем жить без единого разрыва, по крайней мере, вертикального!

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии