ページ 11

処理が重くなるのはなぜですか

Posted: 2008年10月26日(日) 20:06
by mi
ゲームを作っていて簡単なタイトル画面を作ってみようと思ったのですが、
処理がとても重く、fpsを表示させてみると4.0とかそれくらいしかありませんでした。
switch(func_state)で分けてやったのですが、ゲームのメインではfpsは60近くあるのですが、
タイトル画面になるとぐっと減ってしまいます。

処理していることは
int title_g,sentaku_g,yajirusi_g,yaji_x=0;

void title_load(){
	title_g=LoadGraph("img/taitoru.png");
	sentaku_g=LoadGraph("img/sentaku.png");
	yajirusi_g=LoadGraph("img/yajirusi.png");
}

void title_graph(){
	DrawGraph(0,0,title_g,FALSE);
	DrawGraph(0,0,sentaku_g,TRUE);
	DrawGraph(yaji_x,420,yajirusi_g,TRUE);
}

void yajirusi_ido(){
		if(CheckStatePad(configpad.right)==1)
			yaji_x+=380;
		if(CheckStatePad(configpad.left)==1)
			yaji_x-=380;
		if(yaji_x==760)
			yaji_x=0;
		if(yaji_x==-380)
			yaji_x=380;
		if(CheckStatePad(configpad.jump)==1)
		func_state=100;
}

void title_main(){
	title_load();
	title_graph();
	yajirusi_ido();
}
のtitle_main();
とdraw_fps(0,465);
だけだと思うのですが。

重くなるのはどうしてでしょうか?
こことは違う場所が関係してるのでしょうか?

Re:処理が重くなるのはなぜですか

Posted: 2008年10月26日(日) 20:15
by Justy
 title_load()が原因ではないでしょうか?

 title_main()が毎フレーム呼ばれるのだとしたら、
title_load()によって毎回テクスチャをファイルから
ロードしているように見えます。

Re:処理が重くなるのはなぜですか

Posted: 2008年10月26日(日) 21:30
by mi
>>Justyさん
全くそのとおりでした。
ありがとうございます。