timeBeginPeriod 함수(timeapi.h)
timeBeginPeriod 함수는 주기적 타이머에 대한 최소 해상도를 요청합니다.
구문
MMRESULT timeBeginPeriod(
UINT uPeriod
);
매개 변수
uPeriod
애플리케이션 또는 디바이스 드라이버에 대한 최소 타이머 해상도(밀리초)입니다. 값이 낮을수록 더 높은(더 정확한) 해상도를 지정합니다.
반환 값
uPeriod에 지정된 해상도가 범위를 벗어나면 성공하거나 TIMERR_NOCANDO 경우 TIMERR_NOERROR 반환합니다.
설명
타이머 서비스를 사용하기 직전에 이 함수를 호출하고 타이머 서비스 사용을 마친 직후 timeEndPeriod 함수를 호출합니다.
timeBeginPeriod에 대한 각 호출을 timeEndPeriod 호출과 일치시켜야 하며, 두 호출에서 동일한 최소 해상도를 지정해야 합니다. 애플리케이션은 각 호출이 timeEndPeriod 호출과 일치하는 한 여러 timeBeginPeriod 호출을 수행할 수 있습니다.
Windows 10 버전 2004 이전에는 이 함수가 전역 Windows 설정에 영향을 줍니다. 모든 프로세스에 대해 Windows는 모든 프로세스에서 요청한 가장 낮은 값(즉, 가장 높은 해상도)을 사용합니다. Windows 10 버전 2004부터 이 함수는 더 이상 전역 타이머 해상도에 영향을 주지 않습니다. 이 함수를 호출하는 프로세스의 경우 Windows는 모든 프로세스에서 요청한 가장 낮은 값(즉, 가장 높은 해상도)을 사용합니다. 이 함수를 호출하지 않은 프로세스의 경우 Windows는 기본 시스템 해상도보다 높은 해상도를 보장하지 않습니다.
Windows 11 창 소유 프로세스가 최종 사용자에게 완전히 폐색되거나 최소화되거나 보이지 않거나 들리지 않는 경우 Windows는 기본 시스템 해상도보다 높은 해상도를 보장하지 않습니다. 이 동작에 대한 자세한 내용은 SetProcessInformation 을 참조하세요.
더 높은 해상도를 설정하면 대기 함수에서 제한 시간 간격의 정확도가 향상될 수 있습니다. 그러나 스레드 스케줄러가 작업을 더 자주 전환하기 때문에 전반적인 시스템 성능을 줄일 수도 있습니다. 고해상도는 CPU 전원 관리 시스템이 절전 모드로 진입하는 것을 방지할 수도 있습니다. 더 높은 해상도를 설정해도 고해상도 성능 카운터의 정확도가 향상되지는 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | timeapi.h(Windows.h 포함) |
라이브러리 | Winmm.lib |
DLL | Winmm.dll |