Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Типичный артефакт разрыва видео (смоделированное изображение)

Разрыв экрана - это визуальный артефакт при отображении видео, когда устройство отображения показывает информацию из нескольких кадров на одном экране. [1]

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

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

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

Профилактика [ править ]

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

Большинство систем используют множественную буферизацию и некоторые средства синхронизации циклов обновления дисплея и видеопамяти. [2]

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

-  Из драйвера графического процессора Intel с открытым исходным кодом https://manpages.debian.org/buster/xserver-xorg-video-intel/intel.4.en.html

Вертикальная синхронизация [ править ]

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

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

Видеоадаптеры Nvidia и AMD предоставляют опцию «Adaptive Vsync», которая включает вертикальную синхронизацию только тогда, когда частота кадров программного обеспечения превышает частоту обновления дисплея, в противном случае она отключается. Это устраняет заикание, возникающее при падении частоты кадров механизма рендеринга ниже частоты обновления дисплея. [3]

В качестве альтернативы, такие технологии, как FreeSync [4] и G-Sync [5], меняют концепцию и адаптируют частоту обновления дисплея к контенту, поступающему с компьютера. Такие технологии требуют специальной поддержки как со стороны видеоадаптера, так и со стороны дисплея.

Осложнения [ править ]

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

Джуддер [ править ]

Вертикальная синхронизация также может вызывать артефакты в презентациях видео и фильмов, поскольку они обычно записываются с частотой кадров, значительно меньшей, чем типичная частота кадров монитора (24–30 кадров / с). Когда такой фильм воспроизводится на мониторе, настроенном на типичную частоту обновления 60 Гц, видеопроигрыватель довольно часто пропускает крайний срок монитора, и промежуточные кадры отображаются немного быстрее, чем предполагалось, что приводит к эффекту, подобному дрожанию . (См. Telecine: Различия в частоте кадров .)

Задержка ввода [ править ]

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

Сравнительный анализ [ править ]

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

Другие методы [ править ]

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

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

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

Ссылки [ править ]

  1. ^ Как бороться с разрыванием , virtualdub.org, 31 октября 2005 г., архивировано из оригинала 30 мая 2015 г. , получено 19 мая 2015 г.
  2. ^ https://www.techsectora.com/2021/02/what-is-vsync-and-why-does-it-exists.html Отсутствует или пусто |title=( справка )
  3. ^ Adaptive VSync , nvidia.com , получено 28 января 2014 г.
  4. ^ https://www.amd.com/en-us/innovations/software-technologies/technologies-gaming/freesync
  5. ^ https://www.cnet.com/news/nvidia-g-sync-is-a-smooth-move-for-pc-games/
  6. ^ Дерек Уилсон (16 июля 2009 г.), Изучение запаздывания ввода внутри и снаружи , AnandTech , получено 15 января 2012 г.