Не обновляют ли мониторы атомарно / мгновенно свои пиксели?
Я пытаюсь понять, что вызывает разрыв экрана. Предположим, что монитор может мгновенно обновлять каждый из своих пикселей. Тогда я думаю, что обновления будут работать так:
- Монитор решает начать обновление
- Он смотрит на любой кадр, который GPU в данный момент отправляет.
- Атомно обновляет все пиксели мгновенно.
При такой процедуре кажется совершенно невозможным разорвать экран, полностью игнорируя частоту обновления и FPS. В данное время рисуется только одно изображение.
Теперь я знаю, что это не то, как ЭЛТ-мониторы работают со своим сканирующим оружием (или как там это называется). Но у меня сложилось впечатление, что новые технологии мониторов не работают так. Действительно ли они обновляют пиксели постепенно, а не сразу?
2 ответа
Шаги 2 и 3 предполагают, что все данные кадра передаются на монитор мгновенным и атомарным способом, а не так. "Тупой" монитор никогда не "видит" (или не буферизирует) полный кадр видео. Мониторы все еще работают по тем же принципам, что и при использовании сканирующих электронных пучков для рисования изображений. Телевизоры Snazzier могут буферизовать изображения и выполнять межкадровую обработку, но монитор компьютера, вероятно, этого не сделает.
То, что видит монитор, это просто поток данных, исходящий от вашей видеокарты. На монитор отправляются всевозможные предварительные данные, чтобы сообщить ему, в каком формате будет этот поток данных, поэтому он получает подробную информацию о времени, количестве горизонтальных линий, количестве вертикальных линий и цветовом формате, но на самом деле это просто длинная строка данных цвета пикселей.
Ваши шаги 2 и 3 фактически выполняются на видеокарте, а шаг 3 будет "отображаться" только в том случае, если вы включите вертикальную синхронизацию.
В любой точке видеокадра графический процессор может принять решение об изменении своего видеобуфера на новое изображение и продолжить отправку данных из этой точки в буфер. Если вертикальная синхронизация не включена, то она продолжит посылать новые данные буфера на монитор с той же точки, с которой они были отключены в старом буфере. Это ваша точка слезы.
Если у вас включена вертикальная синхронизация, то графический процессор будет ожидать отправки полного кадра, прежде чем переключит буфер, и в этом случае вы не увидите "разрыв".
Разрыв экрана - это визуальный артефакт на видеоэкране, где устройство отображения отображает информацию из нескольких кадров за один экран. Артефакт возникает, когда подача видео на устройство не синхронизирована с частотой обновления дисплея.
Источник: Википедия.
Все мониторы, LCD и CRT, обновляются на часах в известное и предсказуемое время. Различные технологии позволяют графической карте знать этот тактовый цикл, так что графический процессор может отправлять данные в наилучшее время, чтобы монитор мог их получить и отображать количество пикселей следующего экрана.
Обычно это называется частотой обновления, или на некоторых телевизорах вы увидите объявленное число Гц (то есть циклов в секунду). Наиболее распространенным в наши дни является, вероятно, 60 Гц, что означает 60 циклов в секунду. Хотя 120 Гц становится все более распространенным.
Различные технологии синхронизации, упомянутые выше, обычно используются с целью предотвращения разрыва экрана. У них обычно есть пределы относительно того, сколько они могут решить, хотя.