D3DImage и удаленный рабочий стол - PullRequest
1 голос
/ 09 апреля 2020

Я написал приложение, которое отображает 3D-контент с D3D 11.0 и представляет в WPF с D3DImage .

Когда приложение запускается в сеансе удаленного рабочего стола, после первой пары кадров он получает IsFrontBufferAvailableChanged событие, IsFrontBufferAvailable становится ложным и остается таким.

На данный момент я обнаруживаю удаленный сеанс и переключаюсь в режим программной визуализации D3DImage, то есть я передаю истину последнему аргументу SetBackBuffer , игнорируя IsFrontBufferAvailable как ложное, и в любом случае отрисовываю.

Работает, но довольно медленно.

Оба WPF, и мой рендеринг D3D11 использует аппаратное ускорение, поддерживаемое по протоколу RDP. Со своей стороны, я не использую устройства WARP или что-либо еще, просто нормально работает D3D_DRIVER_TYPE_HARDWARE с уровнем возможностей 11.0, даже не выдает никаких сообщений от уровня отладочной проверки.

Есть ли способ включить ускоренный удаленный рендеринг и для D3DImage?

Клиент и сервер работают Windows 10 1903.

...