利用CUDA录制windows桌面的方法

(CUDA , Desktop capture , Screen capture , windows ,VC ,GPU ...)

利用CUDA录制windows桌面的方法是不存在的。至少目前我没找到。


Added at 2013/10/11 :
Windows 8 only, IDXGIOutputDuplication 可以在GPU里面获取桌面surface,之后再用CUDA传送到CPU。

参考例子下载:点击打开链接

Windows8中:Windows 8 disables standard Windows 2000 Display Driver Model (XDDM) mirror drivers and offers the desktop duplication API instead


MS没有开放在GPU中获取桌面surface的接口,可能是为了保证刷新率吧,获取surface的函数是有加锁的。


抓取windows桌面图像主要有4种方法:

1,GDI

2,Direct 3D

3,Window Media Encoder API

4,mirror driver


后两种没用过,前两种性能是差不多的,但是GDI允许多线程抓取,D3D可以多线程抓取,但是GetSurface会加锁,因此多线程和单线程没什么区别。


so,如果想提升抓取的FPS的话,有两种方法:

1,补帧

2,GDI 多线程


PS:值得注意的是WIN7 关掉桌面玻璃效果,FPS会大大提升。


PS2:写了一个DEMO,VS2012的工程,代码地址:OS_DesktopCapture

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值