単純なDirect2DアプリでFPSを計算するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3713901

  •  02-10-2019
  •  | 
  •  

質問

やあみんな、そして見てくれてありがとう。 MSDNから簡単なD2Dアプリを作成しました。 ここ. 。今、私はいくつかのプリミティブを描き、FPSカウンターを追加したいと思います。

onRender()イベントがあり、長方形などを描きます。また、rendertextinfo()に電話をかけます。そこでは、rendertarget-> drawTextを呼び出します。 1秒あたりのフレーム数をカウントするためのロジックをどこに追加しますか?

どうもありがとう。

役に立ちましたか?

解決

正確なDirect2Dのものはわかりませんが、これは役立つかもしれません。

基本的に、2つの選択肢があります。フレームを描画するときにフレームレートを更新するか、各秒(またはその他の時間間隔)を更新します。

フレームを描画したときにカウントすると、フレームを描くときに現在の時間を取得し、最後のフレームを描いたときにそれから減算することができます。それはあなたにこのフレームを描くのに費やす時間を与えます。それの相互(すなわち1/x)はフレームレートです。

通常の時間間隔でカウントする場合、そのイベントが最後に発砲してから描画されたフレームの数をチェックするすべての間隔でイベントを発射する必要があります。それをあなたの間隔で除算します(もちろん、1秒である場合、もちろん分割する必要はありません)、それがFPSカウントです。フレームを描くたびにカウンターを増やすことを忘れないでください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top