WM_TIMER를 사용하지 않고 윈도우즈 타이머를 구현하는 이유

윈도우에서 윈도우 프로그래밍을 할때 뭔가를 하는 가장 쉬운 방법은 윈도우 이벤트를 처리하는 것이다. 타이머도 SetTimer를 사용해서 지정된 시간마다 WM_TIMER 이벤트를 받을 수도 있다. 하지만 WM_TIMER는 낮은 우선순위를 가진다.

다른 높은 순위의 이벤트가 존재하면 타이밍에 맞추어서 발생하지 않는다.

비디오 재생이 높은 품질 수준으로 이루어지려면 타이밍이 절대적으로 잘 맞아야 하는데 WM_TIMER는 이를 충족시키지 못한다.

때문에 멀티 쓰레드로 타이밍을 맞추는 타이머를 구현하려고 하는것이다.