返回信息流我需要连续获得电脑屏幕(部分)截图,并且希望间隔时间越短越好。目前我用bitmap进行截图,平均代价16ms左右,不是很能满足需求。有大佬知道更快的方法嘛?感谢
这是一条镜像帖。来源:北邮人论坛 / cpp / #101237同步于 2021/9/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求cpp快速截图方法,最好10ms以下一帧
Dabolo
2021/9/17镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
基于 BitBlt 的截图确实很慢。楼主可以了解一下 Windows 的桌面复制 API(Desktop Duplication API),应该是目前录屏最快的方法:
https://docs.microsoft.com/zh-cn/windows/win32/direct3ddxgi/desktop-dup-api
10ms 以下一帧是一定可以实现的,目测基于这一套方案的录屏软件都能轻松实现几百 fps 的录屏。
桌面复制已经说的很明白了,可以说是针对现代Windows最通用最兼容最快的方案。
要老一点其实还有别的,比如OBS Studio就是给DirectX下钩子捕获后缓冲。
平台相关的话Nvidia也有自己的方案,似乎叫Nvidia Quadro。
要是Windows 7及其以前人们没准还搞镜像驱动呢。
(我印象里OBS似乎是有一个库的?不知道能不能用
非常感谢!!这就开整。好耶!
【 在 ipid 的大作中提到: 】
:基于 BitBlt 的截图确实很慢。楼主可以了解一下 Windows 的桌面复制 API(Desktop Duplication API),应该是目前录屏最快的方法:
:https://docs.microsoft.com/zh-cn/windows/win32/direct3ddxgi/desktop-dup-api
:10ms 以下一帧是一定可以实现的,目测基于这一套方案的录屏软件都能轻松实现几百 fps 的录屏。
谢谢大佬。我来一一尝试
【 在 AlHg 的大作中提到: 】
:桌面复制已经说的很明白了,可以说是针对现代Windows最通用最兼容最快的方案。
:要老一点其实还有别的,比如OBS Studio就是给DirectX下钩子捕获后缓冲。
:平台相关的话Nvidia也有自己的方案,似乎叫Nvidia Quadro。
:要是Windows 7及其以前人们没准还搞镜像驱动呢。
:(我印象里OBS似乎是有一个库的?不知道能不能用