我显示多张png图片,结果速度相当的慢了,我做了个测试:
CString str = "E:\\个人代码\\HumanBody\\bin\\male.png";
Image * image;
image = new Image(str.AllocSysString());
for(int i = 0; i < 10; i++)
{
g.DrawImage(image, 100, 100, 200, 200); 
}
就10幅图都慢的要死,如何解决这个问题呢?如果不用drawimage,速度立马恢复,怎么回事啊??
如果真是drawimage的问题,该如何解决呢?

解决方案 »

  1.   

    GDI+ 的 DrawImage尽管是.NET实现的,但它并不慢, 你得检查你的做法.
      

  2.   

    我也遇到这个问题了,确实是很慢的,比起BitBlt差太多了,但是BitBlt又不能实现从内存图像到内存图像的拷贝(似乎是基于屏幕显示拷贝的),楼上的观点不知道是依据什么说的,在楼主的代码中只要注释或启用循环体内的代码就能看出DrawImage方法的性能差异了,不论其他地方的效率是否优化,主要影响性能的地方确是在这里的。