![中断优先级控制 - Windows 10](https://linux22.com/image/1603180/%E4%B8%AD%E6%96%AD%E4%BC%98%E5%85%88%E7%BA%A7%E6%8E%A7%E5%88%B6%20-%20Windows%2010.png)
我正在尝试找出 Windows 10 中设备的最佳中断优先级。我发现用户在优先考虑 cmos 和 gpu 方面有很好的体验。这帮助我大大减少了输入延迟。
我目前将 cmos 设置为优先级 1、ehci 2、gpu 3,并且我正在尝试弄清楚将系统计时器放在哪里。系统计时器的优先级应该在 gpu 还是 ehci 之前?我已经测试了多个选项,但不确定我最喜欢哪一个。
我找不到任何关于优先考虑系统计时器的文章或文档。
任何信息都会有帮助,谢谢!
编辑:回答@LMiller7 的评论:是的,这是指此注册表项中的 IRQ#Priority 设置:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl
如果您这样说,是的,这听起来像是哑弹。为了解决相关性和可信度,让我告诉您这一点:它可能已经过时,但我向您保证它仍然有效。实际上,有很多旧的注册表调整可以发挥作用。我在竞技游戏中排名很高,我在 blurbusters 论坛上自己测试了通过应用程序可以分辨出输入延迟的差异。我甚至可以分辨出 6 毫秒的输入延迟。我对输入延迟极其敏感,我可以分辨出最小的细微差别。此外,超频者论坛上有一个包含以下内容的广泛主题:https://www.overclock.net/forum/375-mice/1550666-usb-polling-precision.html
他甚至说,在处理鼠标轮询中断时,你可以分辨出多达 50us 的差异。是的:将 ehci 的 irq#priority 放入注册表可以大大减少输入延迟!还用他提供的程序进行了测试,在应用该调整后,值更低,但这并不容易,因为降低某些设备的优先级可能会导致其他设备死锁,例如我的 ehci 不支持 msi-x。这就是我问的原因,因为我不确定那个顺序,我通常会选择感觉最好的,但有太多选择。此外,guru3d 上的一些资深人士还发布了一个关于 msi 的主题,他的设置中也有中断优先级:https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts.378044/
不幸的是,它没有写在那里 - 它到底指的是哪个注册表项。
我不知道你是否知道什么是系统计时器,我不知道它是如何工作的,但它基本上每 x 毫秒中断一次系统并强制将数据更新到应用程序。有一个计时器分辨率应用程序,它可以将此窗口减少到 0.5 毫秒,即使在 1 到 0.5 毫秒之间也是很重要的,因为它不必等待另一个 0.5 毫秒来将数据更新到应用程序,例如鼠标移动,并且它会随着时间的推移而堆叠,从而导致更低的延迟。 Windows 必须处理鼠标轮询,如果中断应该处理的时间增加,如果应用程序必须再等待 1 毫秒,那就大问题了。由于系统计时器不处理硬件中断,而只将数据更新到应用程序。我不确定应该为它分配什么中断优先级。可能比硬件/驱动程序中断更高的数字(更高的数字 = 更低的优先级)。让系统首先处理硬件中断是有意义的。你怎么看?附言:抱歉缩进,编辑时我无法看到预览。