【发布时间】:2016-04-06 11:26:26
【问题描述】:
在我们的 C# WPF 中,我们使用显示地图的第 3 方(非托管)库。
我们使用System.Windows.Interop.D3DImage 类。
第 3 方库将 Direct3D 用于 IntPtr32 表面位置属性。
当我从另一台计算机打开远程桌面并尝试查看 WPF 客户端时,我们会看到地图。
一旦 WPF UI 客户端启动,并且我最小化 RDP 会话或关闭 RDP,我将得到异常:
Direct3D device is lost
根据我对视频流应用程序的经验,当窗口最小化时,它会停止渲染图像以节省带宽。
我猜 rdp 的行为是一样的吗?是否可配置?即使窗口最小化,我也希望继续流式传输。
我知道有additional settings in the .RDP file as mentioned here.
directx 设置为:redirectdirectx:i:1
到目前为止的部分答案:
当 RDP 客户端应用程序连接到 RDP Service 时,显示窗口时为 GUI 模式,最小化时为 GUI-LESS 模式,并且 Direct 3D 组件真的丢失了。为了使它们在最小化期间保持活动状态,必须打开注册表项 (RemoteDesktop_SuppressWhenMinimized)
【问题讨论】:
-
你为服务器/客户端运行什么操作系统?
标签: wpf directx remote-desktop rdp d3dimage