私はあまりにも使用しようとしていますDirectX desktop duplication API。DirectX11デスクトップの複製がNVIDIAで動作しない
Iは
http://www.codeproject.com/Tips/1116253/Desktop-Screen-Capture-on-Windows-via-Windows-Desk
からexmaplesを実行しようとした
https://code.msdn.microsoft.com/windowsdesktop/Desktop-Duplication-Sample-da4c696a
からこれらの両方がDXGIを使用して画面キャプチャの例です。
私はNVIDIA GeForce GTX 1060
とWindows 10 Pro
をマシンに持っています。プロセッサーはIntel™ Core i7-6700HQ
です。
NVIDIA Control Panel > 3D Settings
がAuto select processor
に選択されている場合、これらの例は完全に正常に機能します。
ただし、手動で設定をNVIDIA Graphics Card
に設定すると、サンプルが機能しなくなります。
エラーは次の行で発生します。 hr(HRESULT)
で
//IDXGIOutput1* DxgiOutput1
hr = DxgiOutput1->DuplicateOutput(m_Device, &m_DeskDupl);
エラーがDXGI_ERROR_UNSUPPORTED 0x887A0004
である私は、DirectXに新たなんだと私ははNVIDIAでサポートされていないのDirectXデスクトップ重複あり、ここでの問題を知りませんか?
この場合、プログラムの開始時に特定のプロセッサを選択して、プログラムを任意の設定で実行できる方法がありますか?
#Edit
私はここでのスクリーンショットを投稿議論 https://www.codeproject.com/Tips/1116253/Desktop-Screen-Capture-on-Windows-via-Windows-Desk?msg=5319978#xx5319978xx
へのリンクですcodeproject.com
上の第2のサンプルプロジェクトの開発(エフゲニーPereguda)を尋ね周りを探した後、元のリンクがダウンした場合のcodeproject.comに関するディスカッション
私はまた、明確にそれがチケットからマイクロソフトのサポートサイトhttps://support.microsoft.com/en-us/help/3019314/error-generated-when-desktop-duplication-api-capable-application-is-ru
引用
、この問題が発生した時にチケットをサポートするために、参照デスクトップ複製APIで行うことができなかったことを示唆しanswer on stackoverflowを見つけましたDDAはMicrosoftハイブリッドシステム上の個別のGPU に対して実行されることをサポートしていないためです。設計上、このような シナリオでは、 コールはエラーコードDXGI_ERROR_UNSUPPORTEDと一緒に失敗します。
私のマシン上の両方のモード(統合グラフィックスとディスクリート)でウィンドウをデスクトップに効率的に複製するアプリケーションがいくつかあります。 (https://www.youtube.com/watch?v=bjE6qXd6Itw)
は、私は私のマシンでVirtual Desktop
のインストールフォルダの中に見ていると関心のDLLs
次のように表示することができます
SharpDX.D3DCompiler.dll
SharpDX.Direct2D1.dll
SharpDX.Direct3D10.dll
SharpDX.Direct3D11.dll
SharpDX.Direct3D9.dll
SharpDX.dll
SharpDX.DXGI.dll
SharpDX.Mathematics.dll
その、このアプリケーションがあり、デスクトップを複製するDXGIを使用して、またはされていることをおそらく表示アプリケーションが起動する前に特定のプロセッサを選択できるかどうかを判断します。
いずれにしても、両方のモードでデスクトップを複製する効率的な方法はありますか?
私はこのプロジェクトを中止しましたが、このトピックについての議論は他の人に役立つかもしれません。私が思い出すことのできるところからは、Unityの(ゲームエンジン)ネイティブプログラミング機能を実行して、3D空間でデスクトップスクリーンショットを取得して、VRアプリケーションで最終的に見えるようにしていました。私は個別のグラフィックスをオンにしていたのはおそらく、UnityがGPUでうまく機能し、統合モードでBSODを取得していたので、私の製造元は同じことを勧めました。私はまた、質問自体に投稿するいくつかの他のものを発見した。 – 11thdimension