3

のドキュメントをIDXGIKeyedMutex見ていますが、次の点について少し確信が持てません。

サーフェスへのレンダリングが完了したら、ReleaseSync メソッドを呼び出す必要があります。

私の質問は、「レンダリングが完了したら」とはどういう意味ですか? 即時コンテキストを呼び出すときに、即時コンテキストのレンダー ターゲットとしてテクスチャを削除した後ですFlushか、または呼び出す前に他の形式の GPU フェンス/同期が必要ReleaseSyncですか?

また、なぜD3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX優先されるのD3D11_RESOURCE_MISC_SHAREDですか?

4

1 に答える 1

1

ID3D11DeviceContext::Draw 呼び出しまたはその他の呼び出しを呼び出して、バッファーに書き込む GPU コマンド (ID3D11DeviceContext::CopyResource) を発行した後、IDXGIKeyedMutex::ReleaseSync を呼び出す必要があります。Flush を明示的に呼び出す必要はありません。AcquireSync/ReleaseSync の使用例については、http: //code.msdn.microsoft.com/DXGISyncSharedSurf を参照してください。

D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX は、D3D11_RESOURCE_MISC_SHARED よりも優先されます。D3D11_RESOURCE_MISC_SHARED_NTHANDLE と一緒に使用できるため、クロスプロセス サーフェス共有のセキュリティが向上します。

于 2013-01-29T09:47:30.597 に答える