Могу ли я создать виртуальный дисплей, используя модель драйвера косвенного дисплея, которая визуализируется на поверхность DirectX?

У меня есть несколько полноэкранных приложений, которые не поддерживают масштабирование, которое мне нужно показывать на одном дисплее. Некоторые показывают видео, все показывают контент, который часто обновляется. Некоторые из приложений прекращают рендеринг, если они свернуты или свернуты. У нас нет возможности изменить поведение приложений. Ни один не показывает защищенный носитель, и при этом система не должна поддерживать воспроизведение защищенного контента.

Желаемый сценарий:

Изображение, показывающее сетку приложений, которые отображаются на

Могу ли я создавать виртуальные устройства отображения, используя Модель драйвера с прямым дисплеем и рендерить кадры на поверхность в нашем приложении? Как я обрабатывать OPM? Есть ли лучший способ?

Рассматриваются альтернативы:

  • Переместите и измените размеры самих окон
    Проблема: у меня нет возможности масштабировать окна, когда в виде миниатюры
  • Рендеринг окклюдированных окон через DWM Thumbnail API
    Проблема: некоторые окна не отображаются при окклюзии.
  • Используйте API зеркалирования рабочего стола для захвата программы
    Проблема: у нас нет способа создавать «фиктивные» дисплеи
  • Создайте одну или несколько виртуальных машин и запустите каждую программу на своем рабочем столе. Транспортируйте видео обратно на хост через RDP, используя API Desktop Sharing или специфичный для гипервизора API
    Проблема: лицензирование, сложность, заикание видео
  • Использование служб удаленных рабочих столов для создания нескольких сеансов
    Проблемы: лицензирование, сложность
  • Используйте многопортовый адаптер дисплея с фиктивными разъемами, затем используйте DWM или Desktop Mirroring
    Проблемы: стоимость оборудования, поддержка фиксированных разрешений, сложность настройки

1

Решение

Задача ещё не решена.

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

Других решений пока нет …

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