日期:2014-05-20  浏览次数:20500 次

下面2种画图方法 那种效率高些?
下面2种画图方法   那种效率高些?

方法一
image   b   =   imagefunction(var)

public   image   imagefunction(var)
{
return     System.Drawing.Image.FromFile(var);

}

方法二
image   b   =new   System.Drawing.Image()
imagefunction(var)

public   void   imagefunction(var)
{
b   =System.Drawing.Image.FromFile(var);

}

------解决方案--------------------
我觉得没什么区别 几乎一样
不过第一个代码更科学
方法重用性更高
------解决方案--------------------
两个方法,偶觉得方法1的效率更高些,
两个方法区别只是在变量的初始化上,
方法1偶理解的初始化过程是:
a.划分一块空间以保存image,也就是给变量b分配空间
b.把b指向返回的image

方法2的初始化过程是:
a.划分一块空间以保存image,也就是给变量b分配空间,并对新分配的空间进行初始化
b.把b指向返回的image

两者的区别就是在是否对空间进行初始化,
其实不必去计教这一点点的性能损失了。
------解决方案--------------------
效率相差不太,可能只相差一个指令

如果要效率,那还是多线程弄好点,可以参照游戏处理的离屏绘制
------解决方案--------------------
效率的问题可以忽略不计, 就是内存会浪费点!!
------解决方案--------------------
方法一吧
------解决方案--------------------
一般都会一笑了之。

如果一定要问,我可以问问第二种写法为什么要额外实例化一个即可被丢弃的 image 对象实例,以及凭什么保证b是方法外的目标对象。

谈效率这么高级的命题,前提最好是写出来的东西比较可行。