我有一个使用 DXGI 桌面复制 API 捕获桌面屏幕的程序。
我得到了框架,IDXGIOutputDuplication::AcquireNextFrame
并且能够很好地逐帧捕获我的桌面。
为了继续前进,我尝试优化我的程序并尝试管理脏和移动的矩形。API 提供IDXGIOutputDuplication::GetFrameDirtyRects
和IDXGIOutputDuplication::GetFrameMoveRects
获取这些信息。
但是,似乎从来没有任何矩形被识别为被移动。文档说移动的矩形是:
桌面图像中的像素矩形,操作系统移动到同一图像中的另一个位置
这究竟是什么意思?DXGI 可以识别屏幕的任意部分已被移动吗?或者这可能只适用于被移动的桌面窗口?