私たちの C# WPF では、マップを表示するサード パーティの (管理されていない) ライブラリを使用します。System.Windows.Interop.D3DImageクラス
を使用します。
サード パーティ ライブラリは、IntPtr32 サーフェスの位置プロパティに Direct3D を使用します。
別のコンピューターからリモート デスクトップを開いて WPF クライアントを表示しようとすると、マップが表示されます。
WPF UI クライアントが起動したら、RDP セッションを最小化するか、RDP を閉じると、例外が発生します。
Direct3D device is lost
ビデオストリーミングアプリケーションでの私の経験から、ウィンドウが最小化されると、帯域幅を節約するために画像のレンダリングが停止されます。
私はrdpが同じように行動していると思いますか?構成可能ですか?ウィンドウを最小化してもストリーミングを続けたい。
ここで述べたように、.RDP ファイルに追加の設定があることは知っています。
directx は次のように設定されています: redirectdirectx:i:1
これまでの部分的な回答:
RDP クライアント アプリケーションが RDP サービスに接続しているとき、ウィンドウが表示されているときは GUI モードであり、最小化されているときは GUI-LESS モードであり、Direct 3D コンポーネントは実際には失われています。最小化中にそれらを維持するには、レジストリ キーをオンにする必要があります ( RemoteDesktop_SuppressWhenMinimized ) 。