FPSについて

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

FPSについて

#1

投稿記事 by Ω » 15年前

ゲームプログラミングの館のs6節「FPSを表示しよう」のコードをコピペして実行すると、
約30FPSぐらいしか出なかったので、「30FPSでいいか」と、変更しようとした訳ですが、
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void fps(){
   int i;
   static int t=0,ave=0,f[60];
 
   f[count%60]=GetNowCount()-t;
   t=GetNowCount();
   if(count%60==59){
      ave=0;
      for(i=0;i<60;i++)
         ave+=f;
      ave/=55←―――――――○(最初は60だった)
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            
←○の数値をいじったら、60FPSとか500FPSとか表示されたのですが、
コレは表示だけでFPSは変わってないのでしょうか?
並行して、
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void wait_fanc(){
   int term;
   static int t=0;
   term = GetNowCount()-t;
   if(32-term>0) ←―――――――――○(16を32に)
      Sleep(32-term);←―――――――○(同上   )
   t=GetNowCount();
   return;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

と変更しています。 画像

Dixq (管理人)

Re:FPSについて

#2

投稿記事 by Dixq (管理人) » 15年前

Ωさん、こんにちは。

平均を55で割っている理由は何でしょう?

wait_func関数の修正はそれでいいと思いますが、厳密なFPS制御はそれではできません。

http://dixq.net/rp/43.html

この辺お読みいただけると解ると思います。

Ω

Re:FPSについて

#3

投稿記事 by Ω » 15年前

返答ありがとうございます。解決しました。

平均を55で割ったのは、表示されるfpsが約30になったからです。60だとfps32前後になってしまったので・・・

閉鎖

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