Буфер отображения операционной системы все еще существует, когда к ПК не подключен графический процессор или монитор?

Под Display Buffer я подразумеваю буфер, в котором находится скриншот монитора, т.е. весь экран монитора, сохраняется.
Я пытаюсь разработать программное обеспечение, которое непрерывно захватывает изображения на экране и собирает их в видео.
То, что я хочу знать:
1) Где именно на моем компьютере хранятся пиксели изображения, которое появляется на моем мониторе (GPU MEMORY, RAM)?
2) Это изображение по-прежнему присутствует, когда к компьютеру не подключен графический процессор и монитор?

РЕДАКТИРОВАТЬ: я ориентируюсь на Windows OS.

-1

Решение

Если есть какой-то «драйвер дисплея», то будет какая-то форма кадрового буфера (что будет отображаться). Точная форма и способ доступа к ней зависят от операционной системы. Но в большинстве систем вам нужен по крайней мере какой-либо графический процессор (или процессор дисплея), который по сути является лишь основной частью, которая сканирует кадровый буфер и генерирует импульсы по одному синхронно с частотой монитора (или ЖК-панели). например, телефон) ожидает от них) фактической передачи данных на монитор, и если этого не существует, «драйвер дисплея» будет довольно бессмысленным. Тем не менее, существуют системы, которые используют сетевые дисплеи (например, «Удаленный рабочий стол» для Windows), где буфер дисплея полностью управляется программным обеспечением, поэтому отображаемая графика рассчитывается только с использованием ЦП, и нет необходимости иметь аппаратное обеспечение GPU или DP. ,

Конечно, буфер кадров не обязательно хранится «так, как он появляется на экране» — например, можно хранить все зеленые пиксели в одной «плоскости», все красные пиксели в другой «плоскости», «синие» в третья плоскость, и любая «альфа» в четвертой плоскости. Или в группах, если 8 х 16 пикселей каждого цвета. Или в сжатом виде (например, для использования программного обеспечения через соединение типа «Удаленный рабочий стол», можно представить себе буфер кадра с «длиной цикла»).

Наиболее очевидный случай «аппаратного меньше» отображения, вероятно, будет на виртуальной машине. Конечно, это не совсем аппаратно, просто графический процессор (или «адаптер дисплея», который на самом деле является процессором дисплея) полностью основан на программном обеспечении, но притворяется аппаратным. Однако, поскольку процессор дисплея очень прост, все фактические операции буфера кадров выполняются программно внутри самой виртуальной машины, все, что делает адаптер дисплея, — отслеживает, где находится буфер кадров, и отправляет его «зрителю» (обычно как «Удаленный рабочий стол», «VNC» или аналогичный сетевой протокол для просмотра на дисплее «удаленного» компьютера).

Чтобы ответить на ваши конкретные вопросы:

  1. Да, один из них, скорее всего, но может быть и «чем-то другим». Как именно хранится буфер кадра, полностью зависит от дизайна всей системы. Не зная точного аппаратного обеспечения (например, MacBook Pro, ПК с графической картой X, встроенной системы, смартфона типа Y и т. Д.) И комбинации программного обеспечения (Windows, Linux, пользовательская ОС =), мы ничего не можем сказать о том, как она хранится, так как есть столько решений, сколько вы можете себе представить (если у вас ОЧЕНЬ хорошее воображение, в противном случае есть еще несколько).

  2. Если нет подключенного монитора, конечно — я не знаю ни одной системы, где буфер кадров отключен из-за отсутствия монитора. Электрические сигналы на разъеме VGA / DVI / HDMI обычно отключаются, чтобы уменьшить сигналы помех, когда монитор не подключен, но изображение все еще генерируется и появляется мгновенно, если вы подключите монитор. Как объяснялось сверху, для кадрового буфера не требуется графический процессор — он просто проще / быстрее.

2

Другие решения


По вопросам рекламы [email protected]