-1

ゲームのタイマーを作成しようとしていますが、QueryPerformanceCounterとQueryPerformanceFrequencyについて聞いたことがあります。ゲームループでこれらを使用して時間/fps/ティックを計算する方法を誰かに説明してもらえますか?

4

2 に答える 2

11

Microsoftサポートには、特にこれに関するナレッジベースの記事があります。

QueryPerformanceCounterを使用してタイムコードを作成する方法

基本的にはQueryPerformanceCounter、時間を計りたいイベントの前後に高解像度のタイマー値を取得するために使用します。

次に、を使用QueryPerformanceFrequencyして1秒あたりのティック数を取得します。時間差をこの値で割って、値を秒に変換します。

于 2011-05-17T06:24:53.017 に答える
5
LARGE_INTEGER m_liPerformanceFrequency;
QueryPerformanceFrequency( &m_liPerformanceFrequency);

//...

LARGE_INTEGER liPerformanceCount;
QueryPerformanceCounter( &liPerformanceCount);
double dTime = double(liPerformanceCount.QuadPart)/double(m_liPerformanceFrequency.QuadPart);
于 2011-05-17T06:27:47.757 に答える