我正在尝试通过使用 DXGI 和GetDisplaySurfaceData()
使用 Direct3D 10/11 来捕获 DWM 的 DirectX 表面。
但是,当我IDXGIOutput::TakeOwnership()
在调用 to 之前获得适配器输出的所有权时GetDisplaySurfaceData()
,整个屏幕会暂时变黑,然后恢复(就像在显示模式切换期间一样)。
为什么会发生这种情况,我该如何防止这种情况发生?
我知道这已经很晚了。但是对于它的价值,文档明确表示您不应该直接调用 TakeOwnership() ,因为结果将是不可预测的。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb174558(v=vs.85).aspx