Windows API毫秒延迟与新PC定时器分辨率:旧限制是否已消除?
Windows定时器时钟分辨率限制的现代系统现状
- 现代Windows版本(比如Windows 10 1809及后续版本、Windows 11)已经优化了定时器时钟分辨率机制,默认情况下不再固定10ms的基础分辨率。
- 像
Sleep()、WaitForSingleObject()这类接收毫秒级超时/延迟参数的WinAPI函数,设置1ms-9ms的延迟时,实际延迟已经能接近设定值,不会再强制向上取整到10ms。 - 不过这也不是绝对的:如果系统里没有高分辨率计时需求的程序在运行,部分场景可能会保留较高的基础分辨率来节省功耗;但只要有进程调用
timeBeginPeriod(1)这类请求高分辨率的API,系统会全局把时钟分辨率降到1ms左右,此时所有相关WinAPI的延迟精度都会提升。 - 另外,硬件平台也会影响实际效果,支持高精度计时器的现代CPU能更好地保障延迟精度。
内容的提问来源于stack exchange,提问作者user3161924
相关产品推荐
相关产品推荐

