Единственное, что на самом деле меняется, - это настройки так называемого RAMDAC (цифрового аналогового преобразователя, напрямую подключенного к видеопамяти), а сегодня с цифровыми соединениями это больше похоже на RAMTX (передатчик DVI / HDMI / DisplayPort, подключенный квидео RAM).Ветераны-программисты DOS-графики, вероятно, помнят битвы между RAMDAC, спецификацией и бедами собственного кода.
На самом деле, до возвращения сигнала не требуется секунд.Это довольно быстрый процесс, но большинство устройств отображения не торопятся с синхронизацией с новыми параметрами сигнала.На самом деле с хорошо написанными драйверами изменение происходит почти сразу, между вертикальными пробелами.Несколько лет назад, когда дисплеи были, ошибочно, глупее и аналоговыми, после изменения настроек режима видео можно было на короткое время увидеть изображение, сходящее с ума, до тех пор, пока дисплей не будет синхронизирован (возможно, я должен снять видео об этом, покаУ меня все еще есть оборудование, способное на это).
Поскольку на самом деле происходит просто изменение настроек RAMDAC, также не теряются необходимые данные, если основные параметры остаются неизменными: количество бит на пиксель,количество компонентов на пиксель и шаг пикселя.И на самом деле контексты OpenGL обычно не теряют свои данные при изменении режима видео.Конечно, видимые макеты кадрового буфера меняются, но это происходит и при перемещении окна.
Графика DirectX - это немного другая история.Существует эксклюзивный доступ к устройству, и всякий раз при переключении между полноэкранным режимом Direct3D и обычным режимом рабочего стола все графические объекты меняются местами, поэтому графика DirectX настолько запаздывает при переключении с игры на рабочий стол Windows.
Если формат пиксельных данных изменяется, обычно требуется полная повторная инициализация видимого кадрового буфера, но сегодня графические процессоры исключительно хороши в отображении разнородных форматов пикселей в целевой кадровый буфер, поэтому никаких задержек там тоже не требуется.