DeleteGraphについて
Posted: 2008年12月06日(土) 20:09
こんにちは。
最近ゲームで、場面に応じて使っていない画像をDeleteGraphで消すことをしているのですが、問題が出てきてしまったのでここで質問させていただきます。
私のプログラムでは、ステージが変わるときに、
①DeleteSoundMemやDeleteGraphでクリアしたステージの画像や音楽をメモリから消去
②LoadSoundMemやLoadGraphで次のステージの画像や音楽をメモリに読み込む
という処理をしています。
しかし、この処理を行うとなぜか、次のステージで処理速度が遅くなってしまいます。(普段FPS60のところがFPS3くらいに)
そこで、何度も画像を読み込んでいるのかもしれないと思い、画像の読み込みをなくすとFPSは60で安定します。
さらに、原因を見つけるために、読み込む画像のうち一部だけを読み込むようにするとFPSは60で安定しました。
これらのことから、何度も画像を読み込んでいるのはないと思ったのですが、そうするとなぜ読み込む画像のうち一部だけこの処理を行うと処理速度が重くなるのかということがわからなくなりました。
このことに関係しているのかもしれませんが、
int image[15];
というように宣言しておいて
image_[6]=LoadGraph("1.png");
と読み取り、ステージクリア後、
DeleteGraph(image_[6]);
としてメモリから消去する。そして、
image_[3]=LoadGraph("2.png");
として次のステージの画像を読み取る、つまりimage_[3]を使う前にimage_[6]を使うという処理は問題ないのでしょうか?
アドバイスよろしくお願いします。
最近ゲームで、場面に応じて使っていない画像をDeleteGraphで消すことをしているのですが、問題が出てきてしまったのでここで質問させていただきます。
私のプログラムでは、ステージが変わるときに、
①DeleteSoundMemやDeleteGraphでクリアしたステージの画像や音楽をメモリから消去
②LoadSoundMemやLoadGraphで次のステージの画像や音楽をメモリに読み込む
という処理をしています。
しかし、この処理を行うとなぜか、次のステージで処理速度が遅くなってしまいます。(普段FPS60のところがFPS3くらいに)
そこで、何度も画像を読み込んでいるのかもしれないと思い、画像の読み込みをなくすとFPSは60で安定します。
さらに、原因を見つけるために、読み込む画像のうち一部だけを読み込むようにするとFPSは60で安定しました。
これらのことから、何度も画像を読み込んでいるのはないと思ったのですが、そうするとなぜ読み込む画像のうち一部だけこの処理を行うと処理速度が重くなるのかということがわからなくなりました。
このことに関係しているのかもしれませんが、
int image[15];
というように宣言しておいて
image_[6]=LoadGraph("1.png");
と読み取り、ステージクリア後、
DeleteGraph(image_[6]);
としてメモリから消去する。そして、
image_[3]=LoadGraph("2.png");
として次のステージの画像を読み取る、つまりimage_[3]を使う前にimage_[6]を使うという処理は問題ないのでしょうか?
アドバイスよろしくお願いします。