3

DXGI Desktop Duplication API を使用してデスクトップ画面をキャプチャするプログラムがあります。

フレームをIDXGIOutputDuplication::AcquireNextFrame取得し、デスクトップのフレームをフレームごとにキャプチャできます。

先に進むために、プログラムを最適化し、ダーティ移動した四角形を管理しようとします。API は、これらの情報を取得するためにIDXGIOutputDuplication::GetFrameDirtyRectsとの両方を提供します。IDXGIOutputDuplication::GetFrameMoveRects

ただし、移動していると識別された四角形は決してないようです。ドキュメントには、移動された四角形は次のように記載されています。

オペレーティング システムが同じイメージ内の別の場所に移動したデスクトップ イメージ内のピクセルの四角形

これは正確にはどういう意味ですか? DXGI は、画面の任意の部分が移動されたことを識別できますか? それとも、これは移動中のデスクトップ ウィンドウにのみ適用されますか?

4

2 に答える 2

0

グラフィックスドライバー、モニターなどに依存しているとしか思えないので、ソースアクションの完全なリストを提供するのは難しいかもしれません.

デスクトップ複製 API のサンプル アプリをいじってみたところ、エクスプローラー ウィンドウを最大化すると移動した四角形のイベントがありました (Windows 10 周年記念、Surface Pro 3、外部画面なし)。

于 2016-10-18T05:38:26.673 に答える
0

私のテストでは、すべての変更された領域は Windows 10 でダーティ rect として識別されます。Windows Server 2012 (Windows 8 など) では、移動された領域を正しく識別できます。

于 2020-05-18T05:53:58.533 に答える