为什么生成多个easyx图会越来越慢

0
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的时候,有一点资源被永久占用了,多次复用,占用得越来越多,导致越来越慢?

ava
鼓手

2020-5-9

发一个完整点的可以编译的代码吧,我帮你试试。 -  慢羊羊  2020-5-9
0

我不知道你其它的代码什么样。我自己补充了画 100 条线,并反复调用 draw 函数,并没有出现你说的问题。

我的测试环境:win10 + vs2019 + easyx_20200806

ava
慢羊羊

2020-8-10

技术讨论社区