首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VC bitblt截屏性能有关问题

2012-04-26 
VC bitblt截屏性能问题最近在做一个关于屏幕监控的应用,发现用bitblt截屏,1366*768大小的屏幕截屏下来要用

VC bitblt截屏性能问题
最近在做一个关于屏幕监控的应用,发现用bitblt截屏,1366*768大小的屏幕截屏下来要用到50ms左右。而就算是截一个1*1大小的也要22ms,请问这是怎么回事?
另外有其它较好的截屏方法么?

截屏的代码如下:

C/C++ code
HDC hDC=::GetDC(NULL);    HDC hMemDC=CreateCompatibleDC(hDC);    HBITMAP hBitmap=CreateCompatibleBitmap(hDC,width,height);    HBITMAP hOldBitmap;    hOldBitmap=(HBITMAP)SelectObject(hMemDC,hBitmap);    BitBlt(hMemDC,0,0,width,height,hDC,left,right,SRCCOPY);


[解决办法]
hook消息只能截获有限的图像更新,mirror驱动会禁用掉桌面组合
监控主要慢在网络传输上,不是截图的速度
所以应该减少传送的数据,可以用分块比较传输,xor,隔行扫描,差分,有损压缩

热点排行