リモート デスクトップ接続で Direct3D を動作させるにはどうすればよいですか? Windows XP Professional を使用しています。
8 に答える
3D アクセラレーションは、リモート デスクトップまたは Virtual PC/Server では機能しません。ソフトウェアでレンダリングされた OpenGL は、リモート デスクトップと仮想 PC/サーバーの両方で動作します。
実際には、リモート デスクトップ経由で D3D9 を 2 つの異なる方法で使用できます。私は両方を行ってテストしました。
(これは高速に実行されます) 最良の方法は、D3D9 のソフトウェア実装である SwiftShader を使用することです。これは、任意のカラー ビットで実行する必要があります。https://opensource.google/projects/swiftshader
(注: これは非常に時間がかかります) 2 つ目は、リモート コンピューターに DirectX SDK をインストールすることです。アプリで D3D9 参照デバイスを作成し、リモート コンピューターを 16 ビット カラーに設定する必要があります。
最初にローカルマシンで3Dプログラムを起動し、後でリモートデスクトップを使用してセッションを取得すると、うまくいきます。
すでにこれを知っていても、これがサポートされているシナリオではないようです。
「 リモート デスクトップ共有で Direct3D 機能が無効になる」 および 「Windows で 1 つの優れた画像表示 API を要求するのは多すぎますか?」を参照してください。
選択肢がある場合は、WPF を検討することをお勧めします。
OpenGL が好きなら、この目的でVirtualGLを使用できます。
Tim の回答に加えて、PDC での WPF Futures の講演で、D3D チームのメンバーが、Windows 7 の D3D 10 はリモート処理で動作し、プリミティブによってリモート化されると述べました (これにより、リモート処理を行うクライアントがレンダリング)。多くの情報は提供されませんが、microsoftpdc.com で確認できる WPF Futures トーク (PC07) の Q&A セクションで触れられています。
D3D9 in XP の質問は解決しませんが、Windows 7 での D3D10 を使用したリモート デスクトップは少し良く聞こえます。:)
この記事によると、リモート接続しているボックスが Vista を実行している場合、Direct3D は可能です (ただし、速度は遅くなります)。
http://www.virtualdub.org/blog/pivot/entry.php?id=208
私はこれを確認しておらず、本当に機能するかどうかを個人的に保証することはできません.
これをテストしたところ、サーバーが Vista を実行している場合は機能します。