我从文件读入数据绘入内存位图,再贴入绘图区,数据量大约3000000个矩形,计算机时P1.7G/128DDR,运行时占用78M内存,绘图时间1分30钞如果这样程序最大可能占用到250M内存,但我想能在普通计算机上运行不知道高手们有没有更好的方法

解决方案 »

  1.   

    做一个绘图线程我做过一个工程:开始使用CPU达到90%以上
      

  2.   

    这个过程很复杂,如果要CPU占用率底,那么显示时间会长很多,
    这个开多线程实在不是提高的根本,
    这么多的矩形肯定有屏幕上不显示的,
    如果能做到象游戏那样在背面的不显示,那么节约不少空间,但是计算起来却是
    个难度。300万的多边形,显卡比较好或许还会快点。不知道这么多矩形在显示过中,是否需要大的运算操作过程. 
    DIRECT DRAW 的效果比较好.
      

  3.   

    用OpenGL了,它的双缓冲绘制会使你的显示效果平滑流畅,当然我指的是动画场景绘制。
      另外,你总不会是绘一张图就要画300万的多边形吧!如果不是那样,你完全可以用多少取多少,用完再腾新的。象你那样一次都载入内存,未免太恐怖了!
      

  4.   

    能否考虑使用DirectDraw,那样会快些。
      

  5.   

    采用LOD算法
    对你的图进行分层
    比如说将图分为三个等级 粗糙 一般 精心
    如果全显示再用粗糙的一层来绘制
    如果显示一部分,则取精细的某一部分来显示
    你可以参考LOD技术