fpsについて
Re:fpsについて
60fpsの設定で30fps前後なら、CPUとGPUの問題かも知れません。
どのようなパソコンをお使いでしょうか?
>しかも、館に載っている実行結果は一行ですが、
確かに画面は一行ですが、ソースコードを見る限りは2行ですよね。
こう書いてあるので
DrawFormatString(0, 0,GetColor(255,255,255),"%.1fFPS",1000.0/(double)ave);
DrawFormatString(0,20,GetColor(255,255,255),"%dms" ,ave)
これだと2行出ないとおかしいです。
どのようなパソコンをお使いでしょうか?
>しかも、館に載っている実行結果は一行ですが、
確かに画面は一行ですが、ソースコードを見る限りは2行ですよね。
こう書いてあるので
DrawFormatString(0, 0,GetColor(255,255,255),"%.1fFPS",1000.0/(double)ave);
DrawFormatString(0,20,GetColor(255,255,255),"%dms" ,ave)
これだと2行出ないとおかしいです。
Re:fpsについて
EXTRLさんへ
ディスプレイのリフレッシュレートが関係しているかもしれません。
ディスプレイのリフレッシュレートは、60Hzですか?
他のゲームでも、30FPS程度しか出ませんか?
このソースをビルドして実行してください。
スペースキーでScreenFlip()を実行する/しないを変更できます。
ScreenFlip()を実行しない状態でFPSが
どれくらい出るのか試してみてください。
ディスプレイのリフレッシュレートが関係しているかもしれません。
ディスプレイのリフレッシュレートは、60Hzですか?
他のゲームでも、30FPS程度しか出ませんか?
このソースをビルドして実行してください。
スペースキーでScreenFlip()を実行する/しないを変更できます。
ScreenFlip()を実行しない状態でFPSが
どれくらい出るのか試してみてください。
#include"DxLib.h" int FPScount=0; int FPSLimitFlag=0; void LimitOnOff() { static int prekey; if(!prekey && CheckHitKey(KEY_INPUT_SPACE)) { FPSLimitFlag^=1; } prekey=CheckHitKey(KEY_INPUT_SPACE); } bool SetFPS(int SleepTime) { static long int PreTime=0; if( (PreTime + SleepTime<=GetTickCount())) return false; else { do{ }while(GetTickCount() < (PreTime + SleepTime)); return true; } PreTime = GetTickCount(); } void ShowFPS() { static long int time=GetTickCount(); static int FPS=0; if(GetTickCount()-time>1000) { time=GetTickCount(); FPS=FPScount; FPScount=0; } //printf("FPS=%d\n",FPS); DrawBox( 0 , 0 , 60 , 20 , GetColor(255,0,0) , TRUE ) ; DrawFormatString( 0 , 0 , GetColor(255,255,255) , "FPS=%d" , FPS ) ; char str[100]; sprintf(str,"TestFPS:fps=%d",FPS); SetMainWindowText(str); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode( TRUE ); SetGraphMode(640,480,32); SetMainWindowText("TestFPS"); //データ読み込み中と表示する DrawString( 0 , 0 , "データ読み込み中" , GetColor(255,255,255) ); //乱数の初期化 srand(GetTickCount()); if(DxLib_Init() == -1 ) return -1; SetDrawScreen( DX_SCREEN_BACK ); while(ProcessMessage()==0 && ClearDrawScreen()==0){ FPScount++; ShowFPS(); SetFPS(1000/60); LimitOnOff(); if(FPSLimitFlag==1) ScreenFlip(); } DxLib_End(); return 0; }
Re:fpsについて
>softyaさん
どのようなパソコンと言われてもあまりよく分かりません;
リフレッシュレートは、ググった所、使ってるPCは液晶なので多分変更は出来ないと思います。
ただ、使ってるPCはデスクトップで、買ってから1年ちょっとぐらいです。
メモリ(?)は、ローカルディスクCはもともと50GBありますが、残りの容量は700MB切ってます。
Dの方は150GB以上あります。
>TKOZさん
実行したところ、大体250~300あたりを行ったり来たりしてます。
スペースで表示したとたんに30あたりになります。
このことから多分PC自体のリフレッシュレートは60以上あると思います。
>toyoさん
やってみましたが、実行結果は変わりませんでした。
どのようなパソコンと言われてもあまりよく分かりません;
リフレッシュレートは、ググった所、使ってるPCは液晶なので多分変更は出来ないと思います。
ただ、使ってるPCはデスクトップで、買ってから1年ちょっとぐらいです。
メモリ(?)は、ローカルディスクCはもともと50GBありますが、残りの容量は700MB切ってます。
Dの方は150GB以上あります。
>TKOZさん
実行したところ、大体250~300あたりを行ったり来たりしてます。
スペースで表示したとたんに30あたりになります。
このことから多分PC自体のリフレッシュレートは60以上あると思います。
>toyoさん
やってみましたが、実行結果は変わりませんでした。
Re:fpsについて
結果を見る限り描画が遅いのは間違いなさそうです。
となるとGPU(描画機能)が貧弱なのかもしれません。
それにしても遅い気がするのですが・・・。
パソコンのメーカー名と型番を教えてください。
それで分かります。
>メモリ(?)は、ローカルディスクCはもともと50GBありますが、残りの容量は700MB切ってます。
それは、HDD(ハードディスク)容量ですね。
メモリ容量やCPUは別の項目です。
コントロールパネルのシステムとメンテナンスを選んで、RAMの量とプロセッサ速度の表示を選んでください。これでRAM容量等を知る事ができます。
表示される項目のうち、
評価:
プロセッサ:
メモリ(RAM):
の項目を書き出してください。
ちなみに私のノートパソコン(DELL)だと
評価:2.9
プロセッサ:AMD Turion(tm) 64X2 Modile Tecnology TL-50 1.60GHz
メモリ(RAM):2.00GB
と表示されます。
となるとGPU(描画機能)が貧弱なのかもしれません。
それにしても遅い気がするのですが・・・。
パソコンのメーカー名と型番を教えてください。
それで分かります。
>メモリ(?)は、ローカルディスクCはもともと50GBありますが、残りの容量は700MB切ってます。
それは、HDD(ハードディスク)容量ですね。
メモリ容量やCPUは別の項目です。
コントロールパネルのシステムとメンテナンスを選んで、RAMの量とプロセッサ速度の表示を選んでください。これでRAM容量等を知る事ができます。
表示される項目のうち、
評価:
プロセッサ:
メモリ(RAM):
の項目を書き出してください。
ちなみに私のノートパソコン(DELL)だと
評価:2.9
プロセッサ:AMD Turion(tm) 64X2 Modile Tecnology TL-50 1.60GHz
メモリ(RAM):2.00GB
と表示されます。
Re:fpsについて
ひとつ言っておきます。
俺は致命的にそういうの分からん! すまん
とりあえず分かるもの全て挙げます
○は単なる区切り
WindowsVista(tm) Home Premium○Intel Celeron D insade○LX60W
FUJITHU(これがメーカー?)
評価:3.3
プロセッサ:Intel(R) celeron(R) D CPU 3.06GHz 3.06GHz
メモリ(RAM):1010MB
俺は致命的にそういうの分からん! すまん
とりあえず分かるもの全て挙げます
○は単なる区切り
WindowsVista(tm) Home Premium○Intel Celeron D insade○LX60W
FUJITHU(これがメーカー?)
評価:3.3
プロセッサ:Intel(R) celeron(R) D CPU 3.06GHz 3.06GHz
メモリ(RAM):1010MB
Re:fpsについて
私のノートだと67fps程度ですので、表示が30fpsなのは遅いですね。スペースを押さないと570fpsあたりです。私のノートよりも評価値が高いので、下回るのは考えられない事態ですね。
心配な点があるのは、メモリ(RAM):1010MB とメモリが極端に少ないことです。それ以外はCPUはCeleronとは言え3.06MHzですので問題ないでしょう。グラフィックボード(GPU)も非力なのは確かですが、私のノートの性能を下回るはずが無いんですが。
ってことで出来る事。
1.ビデオカードのドライバを最新にする。
2.一緒に動いているプログラムを出来るだけ停止する。
特に1.は効果があると思います。
ちなみに、お使いのPCのスペックは
http://www.fmworld.net/product/hard/pcp ... index.html
を見る限り、デスクトップ風のノートパソコンって感じですからグラフィックボードの交換も出来ないと思われますので、今あるハードのままで何とかするしかなさそうです。
心配な点があるのは、メモリ(RAM):1010MB とメモリが極端に少ないことです。それ以外はCPUはCeleronとは言え3.06MHzですので問題ないでしょう。グラフィックボード(GPU)も非力なのは確かですが、私のノートの性能を下回るはずが無いんですが。
ってことで出来る事。
1.ビデオカードのドライバを最新にする。
2.一緒に動いているプログラムを出来るだけ停止する。
特に1.は効果があると思います。
ちなみに、お使いのPCのスペックは
http://www.fmworld.net/product/hard/pcp ... index.html
を見る限り、デスクトップ風のノートパソコンって感じですからグラフィックボードの交換も出来ないと思われますので、今あるハードのままで何とかするしかなさそうです。
Re:fpsについて
解決策ありがとうございます
ただ、今使ってるPCは自分用ではなく親の仕事用なので、
さすがにそこまで大規模(?)な事は怖くてできないです。
30fpsでもゲームを作れないことはないと思うので、がんばってみます。
もし、バカみたいな処理落ちがするようであれば
コッソリやってみようかなと思います。
言い忘れてたんですが、他からダウンロードしたゲームはちゃんと60fpsに
なってたみたいです。(ファイル(?)はリリースでした。)遅くなってすいません。
これはどうなんでしょうか
ただ、今使ってるPCは自分用ではなく親の仕事用なので、
さすがにそこまで大規模(?)な事は怖くてできないです。
30fpsでもゲームを作れないことはないと思うので、がんばってみます。
もし、バカみたいな処理落ちがするようであれば
コッソリやってみようかなと思います。
言い忘れてたんですが、他からダウンロードしたゲームはちゃんと60fpsに
なってたみたいです。(ファイル(?)はリリースでした。)遅くなってすいません。
これはどうなんでしょうか
Re:fpsについて
>他からダウンロードしたゲームはちゃんと60fpsになってたみたいです。
使っているライブラリのバージョンという可能性がありますね。
DXライブラリですと、ver2系と ver3系では大きく違うので、
ver3系を使っているのなら ver2系に、ver2系を使っているのなら
ver3系を使ってみると改善されるかもしれません。
Re:fpsについて
>Justyさん
3系だったので2系にしましたが、結果は変わりませんでした。
ちなみに、ニコニコ動画とこのサイトを開いた状態で実行したら、
スペース押さないで200fps未満、スペース押したら一桁になりました。
既にsoftyaさんが改善策を出してくれたので、この件は解決にします。
皆さんありがとうございました。
3系だったので2系にしましたが、結果は変わりませんでした。
ちなみに、ニコニコ動画とこのサイトを開いた状態で実行したら、
スペース押さないで200fps未満、スペース押したら一桁になりました。
既にsoftyaさんが改善策を出してくれたので、この件は解決にします。
皆さんありがとうございました。