Общие сведения о сетях видеосутствий
Диспетчер сети видеотрансляций (VidPN), который является компонентом подсистемы ядра графики DirectX (Dxgkrnl.sys), отвечает за управление коллекцией мониторов и других устройств отображения, подключенных к видеоадаптесу. К обязанностям руководителя VidPN относятся следующие:
Реагирование на горячее подключение и отключение мониторов.
Обслуживание и обновление набора доступных режимов отображения по мере изменения набора подключенных мониторов.
Управление связью между поверхностями отрисовки и выводами видео на видеоадаптере; например, клонирование представлений и расширение рабочего стола на несколько мониторов.
Настройте набор доступных устройств отображения и режимы отображения при открытии или закрытии крышки на ноутбуке.
Настройте набор доступных устройств отображения и режимы отображения при закреплении или отстыковке ноутбука.
Оборудование на видеоадаптере, которое отвечает за сканирование отрисованного содержимого из видеопамять и представление его в видеовыходах, называется подсистемой представления видеоадаптера. Сеть видеотрансляций (VidPN) — это программная модель подсистемы представления видеоадаптера.
Ключевыми элементами подсистемы представления видеоадаптера являются представления (основные цепочки поверхности) и видеовыходы. В модели VidPN представление называется источником видеосутствий, а выходные данные видео — целевым объектом видеосутствий.
Путь представления видео — это связь между источником представления видео и целевым объектом представления видео. VidPN моделирует связь между источниками и целевыми объектами, сохраняя набор путей представления видео. Набор путей называется топологией VidPN.
Обратите внимание, что целевые объекты видеотрансляции не являются мониторами (или другими внешними устройствами отображения), подключенными к видеоадаптесу. Целевыми объектами видеосутствий являются сами соединители вывода видео.
На следующей схеме показана схема VidPN.
VidPN, показанный на предыдущей схеме, содержит три цели представления видео: соединитель DVI, соединитель HD15 и соединитель S-video. Топология VidPN представлена линиями, соединяющими два источника с тремя целевыми объектами. Топология указывает, что источник 1 подключен к целевому объекту DVI, а источник 2 — к целевым объектам HD15 и S-video. Содержимое, отображаемое в источнике 2, представлено в виде представления клонирования на устройствах отображения, подключенных к соединителям HD15 и S-video.
Каждый источник видеотрансляции поддерживает определенный набор форматов поверхности, которые называются режимами источника. Чтобы отслеживать режимы источника, поддерживаемые различными источниками видеотрансляции, VidPN поддерживает режим источника, заданный для каждого источника видео. Режим источника, заданный для конкретного источника видео, не является статическим; он изменяется по мере изменения топологии и изменяется в соответствии с режимами, выбранными для других источников видеотрансляции.
Модель работает аналогично для целевых объектов видеосутствий. Каждый целевой объект видеотрансляции поддерживает определенный набор форматов видеосигналов, называемых целевыми режимами, а VidPN поддерживает целевой режим, заданный для каждого целевого объекта видео. Целевой режим, заданный для конкретного видео, представляет изменения целевого объекта при изменении топологии и при выборе режимов для других целевых объектов показа видео.
Роль драйвера минипорта дисплея
Видеоадаптер имеет один или несколько кодеков вывода видео (например, CRTC), которые считывают данные из источников видеотрансляции и размещают соответствующие видеосигналы на целевых объектах видеотрансляции. В любой момент времени кодек вывода видео может считывать не более одного источника видео. однако этот кодек может предоставлять видеосигнал нескольким целевым объектам видеотрансляции (клонировать представление). Менеджер VidPN касается взаимосвязей между источниками видеотрансляции и целевыми объектами представления видео, но не касается роли выходных кодеков видео. Решения о том, какой кодек вывода видео считывает из определенного источника видео, полностью контролируется драйвером минипорта дисплея. Например, предположим, что видеоадаптер имеет два кодека вывода видео, а диспетчер VidPN просит драйвер мини-порта дисплея реализовать топологию, показанную на следующей схеме.
На следующей схеме показан один из способов, которым драйвер минипорта дисплея может назначать кодеки вывода видео источникам видеотрансляции.
Обратите внимание, что представление клонирования (HD15, S-video) на предыдущей схеме обрабатывается одним CRTC. Теперь предположим, что выходные данные HD15, подключенные к CRTC1, больше не нужны. Затем драйвер минипорта дисплея может реализовать представление клонирования, настроив кодеки вывода видео, как показано на следующей схеме:
Реализация представления клонирования с двумя CRTC имеет некоторые преимущества по сравнению с его реализацией с одним CRTC. Например, при использовании двух CRTC выходы HD15 и S-video могут иметь разные разрешения и частоту обновления.
Важно то, что диспетчер VidPN никогда ничего не знает о том, как кодеки вывода видео на видеоадаптера назначаются источникам и целевым объектам видеотрансляции. Диспетчеру VidPN известны только связи между источниками и целевыми объектами. Базовые составные связи, включающие кодеки вывода видео, известны только драйверу мини-порта дисплея.