個人的な好みだけど、前回のループのカウンターサンプリングからの経過時間冲
を、実数で持ってたほうが何かと便利かも。おじさんの頃はFPUが遅かったので
固定小数点命だったろうけど、今じゃ、バリバリ浮動小数点使います。

Real fInversedFrequency;
LARGE_INTEGER liPrevCount;
void init( void )
{
 LARGE_INTEGER liFrequency;
 bResult = QueryPerformanceFrequency( &liFrequency );
 errorCheck( !bResult ); //カウンターサポートなし。
 fInversedFrequency= 1.0f / Real ( liFrequency );
 liPrevCount = 0;
}

void gameLoop( void )
{
 LARGE_INTEGER liCount;
 Real dt; //凾 (sec)
 QueryPerformanceCounter( &liCount );
 if( liPrevCount != 0 ) {
  dt = Real( liCount - liPrevCount ) * fInversedFrequency;
 } else {
  dt = 0;
 }
 処理:UpdateAI(), Render(), etc.....
}