0

さて、ゲームの開発を始めました。私が最初にセットアップしたかったのは、広範なデバッグ ビューアでした。これは、最終的に、押されたボタン (もちろん聞きたいものだけ) や、フレームタイムに関する情報を含むグラフ、ある種のヒストグラムを表示できます。しかし、私はこれを正しくしたかった仕方。私は、DrawableGameComponent クラスを debugviewer に使用して、そこにデバッグ情報を描画したいと思いました。ただし、更新の開始時に更新タイマーを開始し、描画の開始時に更新を終了するため、更新と描画の時間を正しく測定できないようです。ただし、その後すぐに、最初にメイン ゲームが実行され (更新 - 描画 - 待機)、次に他のすべてのコンポーネントが実行される (更新コンポーネント 1、描画コンポーネント 1) ため、それらが絡み合っていないことに気付きました。これは、経過時間を計算できないことを意味します (Update、Draw、およびオーバーヘッドの両方について)。このブログでわかるように、1 秒あたりのフレーム数ではなく、フレーム時間を測定する方が適切です。

バックストーリーで十分であり、私の主な質問に進みます。別の DrawableGameComponent のメイン ゲームからの Update、Draw、およびオーバーヘッドの両方に必要なフレームタイムをどのように測定するか、または単にクラスを使用してそれを更新する必要がありますゲーム?

すべてが明確であることを願っています。素晴らしい一日を。

4

2 に答える 2

0

私はこれを見つけましたhttp://gamedevwithoutacause.com/?p=876必要なものを正確に説明しています。

于 2013-08-17T23:08:40.193 に答える
0

Update更新タイマーを使用してと時間を正しく測定できない場合はDraw、単純に を使用できませんDateTime.Nowか? の最初にそれを取得し、Update次のサイクルごとに(UpdateDrawおよびオーバーヘッドの後)、DateTime.Now以前に測定した値を差し引くだけです。

于 2013-08-18T12:07:05.507 に答える