Ste*_* Lu 9 c++ performance winapi bitblt
我希望通过BitBlt获得更多性能以捕获屏幕.当Aero保持启用状态时,仅捕获屏幕的400x400像素区域可将捕获时间从我的计算机上的平均50毫秒(完整1920x1200)减少到大约33毫秒(400x400).这是一个令人失望的低改善.
我唯一的选择是禁用Aero吗?我知道当Aero被禁用时,我可以在全屏幕上获得快速3ms的快速捕捉.
She*_* 蒋晟 13
Aero模式下的屏幕截图非常昂贵,因为它需要与DWM同步(想想等待所有人不要眨眼睛拍一张合影),并在Vista上锁定整个GPU管道.在Windows 7 GDI性能由加速常见的GDI操作,并减少GDI锁定改进)
尝试使用未记录的DWM函数或钩子来获取DWM使用的共享表面.但是,如果您计划处理图像数据(例如发送到网络或保存到文件),您仍需要付出代价,通过有时较慢的FSB将数据从视频内存移动到系统RAM.