処理が重い・・・。

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

処理が重い・・・。

#1

投稿記事 by こる » 17年前

こんにちは。初めて質問させていただきます。
ここのサイトをみつつサンプルプログラム実行したとき、
かなり処理が遅いです;;

最初のほうのキャラクターを歩かせるプログラムを実行するだけで遅くなってしまいます。
VisualC++を使ってるんですが、よく見ると下の方に「~~TrendMicro~~シンボルを読み込んでいます」とかでまくってて、そのときに遅くなってるんです。

たしかにウイルス対策ソフトを入れてると遅いとか聞いたことありますが、そのソフトを終了しても遅いまんま・・・。アンインストールしたらよくなるとは思いますが、買ったばっかりでそんなのしたくないし・・。
どうすればいいのかわかりません;;
経験豊富な先輩方、誰か助けてください!.・゜・(ノД`)・゜・.

GPGA

Re:処理が重い・・・。

#2

投稿記事 by GPGA » 17年前

処理が重いのは、大抵PCのスペックが足りていないのが原因ですので
PCのスペックを記載してください。

記述物
OS、CPU、メモリ、グラフィックカード、Cドライブの全体容量と空き容量
記述例
OS:Windows XP
CPU:Pentium4 2.8GHz
メモリ;2GB
グラフィックカード:GeForce 6600GT
Cドライブ全体容量:40GB
Cドライブ空き容量:20GB
 
もし、PCのスペックがわからないのであれば画面左下のスタートから
「ファイル名を指定して実行」を選択し、そこに「dxdiag」と記述して
OKを押してください。
PCのスペックが表示されます。

もし、それでもわからなければ、PCの型番を記載してください。

むつ

Re:処理が重い・・・。

#3

投稿記事 by むつ » 17年前

もし、「TMAS_OEHook.dll」であれば、
Outlookアドイン「迷惑メール対策ツールバー」が悪さをしているようです。
コレを無効にしてみてはいかがでしょうか。

ttp://www.red.oit-net.jp/tatsuya/pc/process.htm

管理人

Re:処理が重い・・・。

#4

投稿記事 by 管理人 » 17年前

まず、GPGAさんのおっしゃるとおり、PCのスペックを教えてください。

処理はグラフィックボードを用いますのでそこそこ古くないグラフィックボードをつんでいる必要がありますが、
グラフィックボード上で計算しない設定にも出来ますし、いろいろスペックしだいで変更する事になると思いますから一度スペックを教えてください。

こる

Re:処理が重い・・・。

#5

投稿記事 by こる » 17年前

えーと、こんな仕様っぽいです。

OS: Windows XP
CPU: Intel(R) Core(TM)2 CPU 2.4GHz(2 CPUs)
メモリ: 2GB
グラフィックカード: GeForce 7900 GS
Cドライブ全体容量: 250GB
Cドライブ空き容量: 218GB

なるほど、迷惑メール対策ツールバーですか!
それが悪さしてる可能性があるのですね!調べてみます!
ありがとうございます!

管理人

Re:処理が重い・・・。

#6

投稿記事 by 管理人 » 17年前

いや~素晴らしいハイスペックですねぇ、、これで動かなかったら日本にある大半のパソコンは動かないでしょう・・。

おかしいですね、スペックは十分ですけど、処理が重くなる・・ウィルスには感染してないですか?
・CPUの稼働率が何もしていないのに10%超えたりしていませんか?
・ウィルスソフトははいっていますか?最近スキャンしてみましたか?
よければそちらもチェックしてみてください。

管理人

Re:処理が重い・・・。

#7

投稿記事 by 管理人 » 17年前

どうでしょう?
処理速度を計測するプログラムを作ってみました。

Z,X,Cキーをそれぞれ任意に押してみてください。

[[ ]]に書かれている数字がFPSです。

普通60以上になります。この数字がZ,X,Cどのキーを押しても60以上がたもてていたら問題ありません。

#include "DxLib.h"

void graph(int states){
	int i,j;
	switch(states){
		case 0:
			DrawString(0,20,"現在1フレームに0個の四角形を描画しています。",GetColor(255,255,255));
			break;
		case 1:
			DrawString(0,20,"現在1フレームに100個の四角形を描画しています。",GetColor(255,255,255));
			for(i=0;i<100;i++)
				DrawBox(i,100,i+300,400,GetColor(GetRand(255),GetRand(255),GetRand(255)),TRUE);
			break;
		case 2:
			DrawString(0,20,"現在1フレームに10000個の四角形を描画しています。",GetColor(255,255,255));
			for(j=0;j<100;j++)
				for(i=0;i<100;i++)
					DrawBox(i,100,i+300,400,GetColor(GetRand(255),GetRand(255),GetRand(255)),TRUE);
			break;
		default:
			break;
	}
	return;
}

void fps(int count , int wait , int states){
        int i;
        static int ave=0,f[60];
        f[count%60]=wait;
        if(count%60==59){
                ave=0;
                for(i=0;i<60;i++)
                        ave+=f;
                ave/=60;
        }
        if(ave!=0)
			DrawFormatString(0,0,GetColor(255,255,255),"[[%.1f]] 現在%d   Zキー:0 Xキー:1 Cキー:2",1000.0/(double)ave,states);
        return;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){

		int wait=0,count=0,t=0,states=0;
		char Key[256];

		if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;

		SetDrawScreen( DX_SCREEN_BACK );

		while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && Key[KEY_INPUT_ESCAPE]==0){
				if     (Key[KEY_INPUT_Z]==1) states=0;
				else if(Key[KEY_INPUT_X]==1) states=1;
				else if(Key[KEY_INPUT_C]==1) states=2;
				
				graph(states);
				wait = GetNowCount()-t;
				t=GetNowCount();
				fps(count,wait,states);
				count++;
				ScreenFlip();
		}
		DxLib_End();
		return 0;
}

こる

Re:処理が重い・・・。

#8

投稿記事 by こる » 17年前

おおおおおおお!!
むつさんのおっしゃる通り、迷惑メール対策ツールバーを無効にしたらめちゃ快適に動作するようになりました!
解決にご協力いただいた皆様、本当にありがとうございました!!
あぁ、感謝してもしきれません;;

それにしても、管理人さんのような「いろいろ聞いてください」という困っているひとを助ける考え方でサイトを運営するところをとても尊敬しています。

私も管理人さんのような人間になれるようがんばります!
これからも応援しています^^学会での発表、がんばってください!!w

管理人

Re:処理が重い・・・。

#9

投稿記事 by 管理人 » 17年前

全然むつさんのおっしゃる回答が思いつきませんでした・・力及ばずすみません(_ _|||)

色々HPを見ていただいているようでありがとうございます^^
嬉しいお言葉、励みになります☆

またお気軽にお越し下さい♪

閉鎖

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