プログラムを起動するととても重くなる

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
へぶん

プログラムを起動するととても重くなる

#1

投稿記事 by へぶん » 11年前

case,switch,ifを主に使い、画像を取り入れてゲームを作ってみたのですが、

デバッグをすると最初の方はスムーズに動くのですが、
カーソル操作やcase1 -> case 10 などの動きを少ししていると、
突然動きがラグくなり、とてもデバッグできることができなくなってしまいました。
リリースにして、exeで起動しても同じ症状が起こってしまいました。
PCのスペック不足とは思えません。

このような原因になるものというのはどのようなものがあるのでしょうか?
ループのところに画像のロードがあるのは原因になるのでしょうか?

Ryo

Re: プログラムを起動するととても重くなる

#2

投稿記事 by Ryo » 11年前

へぶん さんが書きました:ループのところに画像のロードがあるのは原因になるのでしょうか?
動かし続けいるうちに重くなるのは
たいてい、メモリーやGDIなどのリソースのリーク(解放忘れ)
この場合、画像をロードしても解放しないでしつこくロードしてる可能性がある

使ってる開発ソフトがわからないけど
たいていの場合、デバッグモードで動かして、終了させれば、リークの表示はでる
もしくは、タスクマネージャで、異常な値がでていないか確認する

zxc
記事: 79
登録日時: 11年前
住所: 日本の背骨(?)あたり

Re: プログラムを起動するととても重くなる

#3

投稿記事 by zxc » 11年前

  詳しいコードが載っていない以上、推測することしか出来ませんが

コード:

~~~~~
while(1){
    Graphic_handle  = LoadGraph("XXXXX.jpg");
~~~~
}
  このような構造があってはならないのか、と聞いているならば、
基本的にあってはならない構造だと思います。
ロードは一回だけ、何度もやるのは描写の処理です。

他にも何度もする必要がないものはループに入れないでください。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: プログラムを起動するととても重くなる

#4

投稿記事 by softya(ソフト屋) » 11年前

遅くなります。
どんどんプログラムがメモリを消費しているはずですので、タスクマネジャーのプロセスで確認してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

へぶん

Re: プログラムを起動するととても重くなる

#5

投稿記事 by へぶん » 11年前

その通りでしたw
ちなみにVC2010を使っています。

while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 )

の下にロードを貼ってしまっていました。

閉鎖

“C言語何でも質問掲示板” へ戻る