Windows 11 中可将系统计时器分辨率强制设为 0.5 毫秒,需调用 NT 内核 API(如 NtSetTimerResolution),仅推荐用于竞技游戏、音频低延迟等高实时场景;普通用户无需启用。

要在 Windows 11 中将系统计时器分辨率强制优化至 0.5 毫秒(即 5000 纳秒),必须绕过系统默认的 15.6ms(64Hz)节拍限制,直接调用 NT 内核级 API;该操作不可逆影响全局定时行为,且仅对高实时性场景(如竞技游戏输入、音频低延迟处理、微秒级性能测试)有效,普通用户无需启用。
确认当前计时器分辨率
以管理员身份运行 PowerShell,执行以下命令:
PS> Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/W1ngy/SetTimerResolution/main/TimerResBenchmark.ps1'))
脚本会立即输出三组数值:最小支持值、最大支持值、当前生效值(单位:毫秒)。若当前值为 15.625,则说明系统仍处于默认节拍;【低于 1.0ms 的值需硬件与驱动协同支持,部分 OEM 笔记本 BIOS 会锁定最小值为 15.625】。
方法一:使用预编译工具 TimerResolution.exe(推荐)
下载 Release 页面中最新版 TimerResolution.exe(x64),解压后右键“以管理员身份运行”:
→ 双击运行 → 在弹出窗口中输入 0.5 → 回车确认 → 窗口显示 “Resolution set to 0.500 ms” 即成功。
该工具自动完成 NtSetTimerResolution 调用并驻留后台,关闭窗口即恢复默认。注意:它不写注册表、不修改系统文件,重启后失效,安全可逆。
方法二:PowerShell 脚本手动设置
第一步:新建文本文件,重命名为 Set05ms.ps1,用记事本打开,粘贴以下内容:
$res = 0.5; Add-Type -TypeDefinition @" using System; using System.Runtime.InteropServices; public class T { [DllImport("ntdll.dll")] public static extern int NtSetTimerResolution(uint DesiredResolution, bool SetResolution, out uint CurrentResolution); } "@; $cur = 0; $r = [T]::NtSetTimerResolution([uint32]($res * 10000), $true, [ref]$cur); if ($r -eq 0) { Write-Host "✅ 已设为 $($cur/10000.0) ms" -ForegroundColor Green } else { Write-Error "❌ 设置失败 (NTSTATUS: 0x$r)" }
第二步:在 PowerShell 中执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 允许本地脚本运行。
第三步:右键该 .ps1 文件 → “使用 PowerShell 运行”,看到绿色 ✅ 提示即生效。
【必须以管理员权限运行,否则返回 STATUS_ACCESS_DENIED (0xc0000022)】
验证设置是否持续生效
打开任务管理器 → 性能 → CPU → 滚动到底部查看“中断/秒”数值:若稳定在 2000 左右(1 ÷ 0.0005 = 2000),说明计时器已按 0.5ms 频率触发;若仍为 ~64,则设置未生效或被其他进程覆盖(如某些杀毒软件、RGB 控制套件会强制重置分辨率)。
此时可执行 powercfg /energy 生成能耗报告,检查是否存在 “Timer Resolution Requested” 异常条目。

















