タイトルが言うように、私はループでCopySubresourceRegionをやっています。そこのある時点では、完了するまで待つ必要があります。 MSDNのドキュメントからはID3D11Device::CreateQuery
で作成されたイベントクエリのID3D11DeviceContext::GetData
とD3D11_QUERY_EVENT
との間でID3D11DeviceContext::Flush
と呼ぶことができます。ID3D11DeviceContext :: CopySubresourceRegionを呼び出すループがあります。どうすればそれを待つことができますか?
私はそれを試してみた、そしてそれは、これまで私のテストで動作しているようだが、私はよくわからんだ事があります。
それはループが始まる前に、私は一度だけ
CreateQuery
を呼び出した場合、正しく動作し、各GetData
コールで繰り返し、そのクエリを使用しますか?クエリの漏洩を防ぐため、クエリを作成した後で破棄する必要がありますか?
DestroyQuery
メソッドがないようですので、私のID3D11Query*
に無料で電話をかけますか?コピーが完了するのを待つ前に、
ID3D11DeviceContext::Map
またはUnmapのいずれかの呼び出しを行うことができますが、まだフラッシュが必要ですか?