void draw()
{
initgraph((length + 3)* ratio, (width + 3)* ratio);
setbkcolor(0xffffff);//设置背景色为白色
cleardevice(); //调用清屏cleardevice用背景色刷新背景
setcolor(BLACK); //设置绘图笔颜色为黑色
setfillcolor(BLUE);
setfillstyle(BS_HATCHED, HS_BDIAGONAL);//设定为蓝色斜线填充
setaspectratio(1, -1);//坐标翻转。让y轴正方向向上
setorigin(ratio, (width+1)* ratio);
draw_initial();
draw_mini_path();
_getch();
closegraph();
}
然后在main函数里多次算不同的数据,每次调用一次draw()。现在问题在于,调用30次之后,draw的速度会明显变慢。就比如画50根线要画一分钟这种,非常慢。而如果是只运行了比如4次draw,即使要画100根线,也只需要1秒。
所以我觉得不是数据的问题,是不是每次closegraph的时候没有完全释放资源,导致下一次复用draw的时候,有一点资源被永久占用了,多次复用,占用得越来越多,导致越来越慢?