DDraw的Blt同样大小的拉伸显示只耗时400000次振荡,也就是D3D的1/10

解决方案 »

  1.   

    那啥,DDraw的Blt在D3D中对应的操作不是你这样的。
    在D3D中进行2D绘制的话,是使用2D精灵或者类似的技术实现的,基本的原理就是在一个始终与屏幕平行的四边形上贴图,进行拉升或者旋转的时候只需要对那个四边形的4个顶点进行操作就可以了,通常是对每个顶点进行一次矩阵变换,既方便又高效。
      

  2.   

    用Sprite确实可以做相同的事,但是耗时基本上一样,因为同样需要Present来将缓冲中的画面绘制到屏幕,这个Present耗时实在太长,因为我要将其用在视频渲染上,所以才对这个效率有特殊要求