24 ::QueryPerformanceFrequency(&systemFrequency_);
26 cycle_ =
static_cast<LONGLONG
>(systemFrequency_.QuadPart / frequency);
28 ::QueryPerformanceCounter(&countPrev_);
39 while (delta < cycle_)
41 ::QueryPerformanceCounter(&countCurr_);
43 delta = countCurr_.QuadPart - countPrev_.QuadPart;
45 countPrev_ = countCurr_;
47 deltaTime_ =
static_cast<double>(delta) / systemFrequency_.QuadPart;
49 avgDeltaTime_ = avgDeltaTime_ * 0.99 + deltaTime_ * 0.01;
51 if (maxDeltaTime_ < deltaTime_) maxDeltaTime_ = deltaTime_;
52 if (minDeltaTime_ > deltaTime_) minDeltaTime_ = deltaTime_;
void initialize(double frequency)
タイマーを初期化します.
void wait(void)
指定時間が経過するまで待機します.