본문 바로가기

Programming/Win32 API

08. 고해상고 타이머

시간을 정확하게 측정할 수 있습니다. 정확한 시간 측정이 중요한 응용 프로그램에서 고해상도 타이머를 사용하면 최상의 결과를 얻을 수 있습니다. 예를 들어, 일부 Direct3D 응용 프로그램은 애니메이션이 고해상도 타이머를 기반으로 하는 경우에 보다 부드럽게 표시됩니다. 

int main(void)
{
    LARGE_INTEGER start, end, frequency;
    double runTime;
 
    QueryPerformanceFrequency(&frequency); // 초당 틱 수
 
    QueryPerformanceCounter(&start); // 시작 틱의 개수
    ... // 수행할 내용
    QueryPerformanceCounter(&end); // 종료 틱의 개수
 
    runTime = ((double)(end.QuadPart - start.QuadPart) / freq.QuadPart) * 1000; // 단위는 ms
}



http://www.bluekyu.me/posts/programming/high_resolution_timer_in_c/