我分别用Stretchblt,DrawDibDraw传送800x600x真彩的图象,(目标和源hDIB都是与设备无关的场景),反复20次,得到的结果是:Stretchblt 平均用了20毫秒,DrawDibDraw也平均20毫秒,怎么会这样?DrawDibDraw不是比Stretchblt要快很多吗?(我的DrawDibDraw的dwflag用的是0,其它的常量我根本不知道等于多少,能不能告诉我DDF_? 系列常量的数值).
    谢谢。

解决方案 »

  1.   

    StretchBlt是Bitblt的加强版,只是多两个参数,nSrcWidth和nSrcHeight。速度和后者差不多。
    你可以先用DrawDibBegin()初始化DrawDib设备场景,再用DrawDibDraw()看看速度是不是要快些,按理说应该快的。
      

  2.   

    StretchBlt要用SetStretchBltMode设置,如果设置为二次线性插值还要慢些
      

  3.   

    我觉得可能是dwflag的问题,我的默认值是0.