x1,y1→ウィンドウの左上の座標
x2,y2→ウィンドウの右下の座標
void window(int x1,int y1,int x2,int y2){
int i,t1,t2;
DrawGraph(x1,y1,win.hidariue,true);//左上
DrawGraph(x2-5,y1,win.migiue,true);//右上
DrawGraph(x1,y2-5,win.hidarishita,true);//左下
DrawGraph(x2-5,y2-5,win.migishita,true);//右下
DrawExtendGraph(x1+5,y1+5,x2-5,y2-5,win.dot,true);//中心部分
t1=GetNowCount();
for(i=x1+5;i<x2-5;i++)
DrawGraph(i,y2-5,win.shita,true);//下部分
for(i=x1+5;i<x2-5;i++)
DrawGraph(i,y1,win.ue,true);//上部分
t1 = GetNowCount()-t1;
t2=GetNowCount();
for(i=y1+5;i<y2-5;i++)
DrawGraph(x2-5,i,win.migi,true);//右部分
for(i=y1+5;i<y2-5;i++)
DrawGraph(x1,i,win.hidari,true);//左部分
t2=GetNowCount()-t2;
DrawFormatString(10,10,black,"%d %d",t1,t2);
}
と書いた場合とvoid window(int x1,int y1,int x2,int y2){
int i,t1,t2;
DrawGraph(x1,y1,win.hidariue,true);//左上
DrawGraph(x2-5,y1,win.migiue,true);//右上
DrawGraph(x1,y2-5,win.hidarishita,true);//左下
DrawGraph(x2-5,y2-5,win.migishita,true);//右下
DrawExtendGraph(x1+5,y1+5,x2-5,y2-5,win.dot,true);//中心部分
t1=GetNowCount();
for(i=x1+5;i<x2-5;i++){
DrawGraph(i,y1,win.ue,true);//上部分
DrawGraph(i,y2-5,win.shita,true);//下部分
}
t1 = GetNowCount()-t1;
t2=GetNowCount();
for(i=y1+5;i<y2-5;i++){
DrawGraph(x1,i,win.hidari,true);//左部分
DrawGraph(x2-5,i,win.migi,true);//右部分
}
t2=GetNowCount()-t2;
DrawFormatString(10,10,black,"%d %d",t1,t2);
}
と書いた場合で、処理速度がかなり違います前者はt1,t2ともに1ミリ秒以下なのに対し、後者はt1,t2ともに16ミリ秒を超えています・・・。
一つのfor文の中身はなるべく少なくなるようにした方がいいのでしょうか?
