我也用directx,但是不太懂,下了一个用GetFrontBuffer()的程序,没想到更慢。是不是还有快的我没发现呀?希望高手帮忙!

解决方案 »

  1.   

    和显卡有关,如果有硬件加速的,DirectDraw能快一倍,否则效果可能相反
    直接Lock PrimSurface或BackupSurface操作,缺点是不能改变大小,要事后修改另一种方法是保存DDB,才用keybd_event VK_SNAPSHOT
    速度瓶颈主要在DDB2DIB上,在空闲或事后的时候转化为DIB
      

  2.   

    多谢回复~~~~
    GetDIBits可以DDB2DIB,但是有点慢。。我的程序要求每秒截30帧,不能用呀~~~
    现在我就只知道directx8.0里的GetFrontBuffer()可以获取当前屏幕页面。光这个函数就要
    700多ms 不知道还有别的吗??
    或者还有什么别的方法?用ddk行吗?
      

  3.   

    我也是用GetDIBits来截取图像的,一张280*280的位图就得花0.04秒的时间,我也想用DX来取以便提高速度,可惜开发时间不够,不然的话就与楼主一起研究!!
      

  4.   

    谢谢。。我再去别的专区问问。
    要是有答案了,告诉大家。
    郁闷~~~~另外,请问你们知道cpu的利用率是怎么计算出来的吗?