ご覧いただきありがとうございます。MSDN から簡単な D2D アプリを作成しました。ここから入手できます。ここで、いくつかのプリミティブを描画し、fps カウンターを追加します。
長方形などを描画する OnRender() イベントがあります。また、RenderTarget->DrawText を呼び出す RenderTextInfo() への呼び出しもあります。1 秒あたりのフレーム数をカウントするロジックはどこに追加すればよいですか?
どうもありがとう。
ご覧いただきありがとうございます。MSDN から簡単な D2D アプリを作成しました。ここから入手できます。ここで、いくつかのプリミティブを描画し、fps カウンターを追加します。
長方形などを描画する OnRender() イベントがあります。また、RenderTarget->DrawText を呼び出す RenderTextInfo() への呼び出しもあります。1 秒あたりのフレーム数をカウントするロジックはどこに追加すればよいですか?
どうもありがとう。
Direct2D の正確な内容はわかりませんが、これは役立つかもしれません。
基本的に、2 つの選択肢があります。フレームを描画するとき、または毎秒 (またはその他の時間間隔) にフレームレートを更新します。
フレームを描画するときにカウントする場合は、フレームを描画するときに現在の時間を取得し、そこから最後のフレームを描画した時間を差し引くことができます。これにより、このフレームの描画に費やされた時間が得られます。その逆数 (つまり 1/x) がフレームレートです。
一定の時間間隔でカウントする場合は、イベントが最後に発生してから描画されたフレームの数を確認する間隔ごとにイベントを発生させる必要があります。それを間隔で割ります (1 秒の場合はもちろん、割り切る必要はありません)。それが fps カウントです。フレームを描画するたびにカウンターをインクリメントすることを忘れないでください。