把显示复制到内存所需要的时间是一定的,DDRAW也做不到更好。
另外,想请教:用GetDC(NULL)可以吗?可能快一点点吧?
别忘了deletedc,或者ReleaseDC。

解决方案 »

  1.   

    不知道HyperSnap连续抓拍能有多快,我没有见到能抓拍到2、30fps的,恐怕都不会太快
      

  2.   

    我也在为这个问题烦恼。我听我同事说用DC速度较慢,API另有一套函数比它快,但部知道是那一套
      

  3.   

    2000说的对"把显示复制到内存所需要的时间是一定的,DDRAW也做不到更好"
    这是显卡的问题,一般来说写显存的速度比读显存的速度快的多!
    目前没有好的方法提高静图截取。
    但你要加快动图的截取我有办法提高很多。
      

  4.   

    to DragonCheng:你所说可能是DibDraw函数组,msdn上有介绍。
      

  5.   

    _matrix_, 请告诉大家你的方法,谢谢!
      

  6.   

    我觉得Direct Draw应该比GDI快很多吧。DragonCheng
      

  7.   

    我觉得Direct Draw应该比GDI快很多吧。DragonCheng的同事说的应该是只DDraw
      

  8.   

    dx快是因为它允许直接操作显示内存,而不必通过DC。这种优势在需要大量的显示操作时很明显,比如游戏,每秒刷新60次的话用DC是很难的。
    具体到截取屏幕,GetDC()所用的时间与200ms比太少了,可以忽略。