写了个函数,来画图并保存图片。由于要在1分钟内画5000多张图片,并保存。目前只能一分钟画1000多张图片。
有什么方法可以提升到1分钟5000多张呢?多线程?还是其他?
请求解决方法!

解决方案 »

  1.   

    图片基本上没什么弄得了。
    多线程的话,我不是很熟悉,我试了下,不过速度还是差不到哪里去。
    我用了4个线程去画图,把图分成4等分。每一个线程负责一部分。怎么还是那个速度呢?
    代码大致如下:
                th1 = new Thread(paraThStart1);
                th1.Start(position[0]);            th2 = new Thread(paraThStart2);
                th2.Start(position[1]);            th3 = new Thread(paraThStart3);
                th3.Start(position[2]);            th4 = new Thread(paraThStart4);
                th4.Start(position[3]);
      

  2.   

    多線程,並不一定意義著會快很多,衹是如果線程多,搶佔CPU的機率就大一些,如果你的電腦上開始的程序不多,其他的程序CPU使用率都不大的話,多線程的意義就不大了.
    給個狠一點的建議,多線程不行,就用多進程,呵呵.
      

  3.   

    或许应该按图片的张数来分线程,比如:线程一处理前500张图片,线程二处理第二个500张的图片。。如果软件方法实在是达到极限了,那么或许还可以采用硬件的方法来加速,比如:提高CPU的处理速度,提高内存。这种事情,要视具体情况,来具体分析的。最重要的是要找出速度的瓶颈在什么地方,画图过程?存储过程?计算过程?冗余处理?然后才能有的放矢。
      

  4.   

    pantian 我是采用你的方法。不过可能是线程是线程之间相互运行的,而不是同时运行的。除非是多CPU的电脑可能同时!