2つの異なるデバイスで別々のスレッドで使用されている共有DX11テクスチャがあります。DX11共有テクスチャの更新
スレッド1(デバイス1上で動作する):すべてのフレームと呼ばれ、共有テクスチャ
スレッド2(デバイス2上で動作する)を更新するには、別のテクスチャにコピーし、共有組織を消費します。周波数は、MSDNによると、スレッド1
よりもはるかに少ないです「共有テクスチャが1つのデバイスID3D11DeviceContextに更新された場合::フラッシュがそのデバイス上で呼び出さなければなりません。」
しかし、すべてのフレームでthread1をフラッシュすることは非常に高価で、大量のパフォーマンスが低下します。デバイスコンテキストがスレッドセーフではないため、スレッド1でデバイス1をフラッシュできません。
スレッド2がスレッドを消費する必要があるときに共有テクスチャを効率的に更新する方法はありますか?
ありがとうございました! MSDNは共有テクスチャを扱う際にあまり役に立ちません。 あなたがIDXGIKeyedMutexを使用できる2つのスレッド(またはプロセス間)の間での共有リソースへのアクセスを同期するために、テキスト
残念なことに、スレッドが最初に実行される定義済みの順序がないため、キーミューテックスは機能しません。両方のスレッドをランダムな間隔で呼び出すことができるため、このシナリオではキーミューテックスは不適切です – Sid