Шаги 2 и 3 предполагают, что все данные кадра передаются на монитор непосредственным и атомарным способом, а не так. «Тупой» монитор никогда не «видит» (или не буферизирует) полный кадр видео. Мониторы по-прежнему работают по тем же принципам, когда мы использовали сканирующие электронные лучи для рисования изображений. Телевизоры Snazzier могут буферизовать изображения и выполнять межкадровую обработку, но монитор компьютера, вероятно, этого не сделает.
То, что видит монитор, - это просто поток данных с вашей видеокарты. На монитор отправляются всевозможные предварительные данные, чтобы сообщить ему, в каком формате будет находиться этот поток данных, поэтому он получает подробную информацию о времени, количестве горизонтальных линий, количестве вертикальных линий и цветовом формате, но на самом деле это просто длинная строка данных цвета пикселей.
Ваши шаги 2 и 3 действительно выполняются на видеокарте, а шаг 3 будет «отображаться» только в том случае, если вы включите вертикальную синхронизацию.
В любой точке видеокадра графический процессор может принять решение об изменении своего видеобуфера на новое изображение и продолжить отправку данных из этой точки в буфер. Если вертикальная синхронизация не включена, то она будет продолжать посылать новые данные буфера на монитор с той же точки, с которой они были отключены в старом буфере. Это ваша точка слезы.
Если у вас включена вертикальная синхронизация, то графический процессор будет ожидать отправки полного кадра, прежде чем переключит буфер, и в этом случае вы не увидите «разрыв».