我正在使用 bitblt
API 捕获窗口屏幕,大约需要 30 到 40 毫秒,但我想以更快的方式实现这一点,任何其他内置 API 也是如此,或者建议我最好的屏幕捕获驱动程序。
这是我的代码。
ret = BitBlt(m_pGDI->hDoubleBufferWorker,0,0,this->m_screenWidth,
this->m_screenHeight,hDisplayDC,this->m_scrennOffsetX,this->m_scrennOffsetY,SRCCOPY|CAPTUREBLT);
if(!ret)
{
int err= GetLastError();
ErrorLogger::Log("Error : Desktop : Bitblt failed%d",err);
}
最佳答案
我找到了一种可以更快地捕获桌面屏幕的解决方案。
我使用 Direct3D11单帧大约需要 5 到 20 毫秒,与 BitBlt 相比,它减少了 50% 的时间消耗。
关于c++ - 哪个 Windows API 捕获屏幕比 Bitblt 或任何其他镜像驱动程序更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46067847/