下午好。
我正在编写一个程序,它会以 100 fps 从桌面录制视频,但我遇到了一个问题,AcquireNextFrame 仅在 20 毫秒后从桌面接收下一个图像,因此,我可以获得的最大 fps 将是50、你可以用这个做点什么吗?
谢谢。
最佳答案
IDXGIOutputDuplication::AcquireNextFrame如果捕获的输出没有任何变化,将不会收到任何信息。
它不像“PleaseCaptureScreenNow”命令。
超时是预期的,并且必须考虑在内。这就是为什么您不能真正设计一个工作流程,例如捕获 => 转换 => 仅在一个唯一线程上复制/编码。
微软官方DXGIDesktopDuplication出于这个原因,示例设计有多个线程。
如果屏幕以该速度变化(并且您有良好的 GPU、驱动程序等),此方法可以以 100fps 或更高的速度完美捕捉。
关于c++ - DXGI AcquireNextFrame 仅在 20ms (50fps) 后才接收下一帧,是否可以加速到 10ms?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65116035/