PCHardwarePro » 教程 » 如何在 Windows 中启用和禁用 HPET,以及何时值得这样做
HPET 是 Windows 用于同步时间敏感型任务的高精度计时器,但在现代计算机上,它可能会增加延迟。
它的行为取决于 BIOS/UEFI 配置、bcdedit 命令以及“高精度事件计时器”设备的状态。
在某些系统上禁用 HPET 可以提高 FPS 和哈希率,尤其是在使用较旧或基本 CPU 的情况下,尽管这样做并不总是有效。
修改 HPET 会带来兼容性风险和潜在的在线游戏问题,因此最好有条不紊地进行尝试,并知道如何还原更改。
如果你玩电脑游戏、挖矿或从事音频视频工作,你可能听说过HPET,也就是Windows的高精度事件计时器。有些用户为了追求更高的帧率或更好的性能而禁用它。然而,关于HPET有很多误解、谣言和相互矛盾的设置,如果你不了解自己在做什么,反而可能会使系统性能下降。
接下来,我们将深入探讨HPET是什么,它为何会影响游戏、挖矿和多媒体任务,以及如何在BIOS和Windows系统中正确启用或禁用它。我们还将了解它何时能提升性能,何时会造成负面影响,甚至为什么在某些网络游戏中使用它可能被视为一种可疑的做法。
HPET是什么?它究竟有什么用途?
高精度事件定时器 (HPET) 是一种集成在现代个人电脑中的高分辨率定时器,旨在协调各种系统组件的运行,例如显卡、声卡、处理器以及任何依赖精确计时的组件。由于其在视频游戏、音频和视频播放器以及专业编辑软件中的重要性,它也被称为多媒体定时器。
HPET 的主要功能是提供一个高精度时钟,供操作系统和应用程序用于调度事件(例如,何时绘制下一帧、何时处理音频包或何时在 CPU 线程间同步任务)。理论上,这应该能够提高系统的时间稳定性以及对时间敏感的应用程序行为的一致性。
然而,在实际应用中,现代系统通常无法提供明显的性能提升,甚至可能增加延迟。Windows 系统自带其他内部计时器(例如 TSC、LAPIC 或虚拟化的 HPET),在现代平台上,这些计时器通常足够精确,速度也比直接使用物理 HPET 更快。
因此,虽然出于兼容性考虑,HPET 通常默认启用,但许多用户发现禁用它可以减少游戏卡顿、提高平均帧率或略微提升加密货币挖矿性能。这种影响并非在所有系统上都相同,但在较旧或低端处理器上通常更为明显。
另一个重要细节是,HPET 的影响不仅限于游戏:任何处理器密集型应用,例如 CPU 或 GPU 挖矿程序,都会受到查询此计时器带来的额外延迟的影响。这就是为什么许多矿工尝试禁用 HPET 以获取更多哈希值的原因。
启用和禁用 HPET:涉及的层(BIOS 和 Windows)
在进行任何更改之前,务必了解 HPET 可以在两个不同的层级进行控制:BIOS/UEFI 和操作系统。为了完全启用或完全禁用 HPET,理想情况下,这两个层级的配置应该保持一致。
BIOS(或较新主板上的 UEFI)通常会有一个与 HPET 相关的特定选项,其名称可能为“HPET 支持”、“高精度事件定时器”、“HPET 模式”或类似名称。通常情况下,它只允许您选择启用或禁用,某些固件还允许您选择使用 32 位模式还是 64 位模式。
在 Windows 系统中,HPET 的使用主要通过启动管理器(使用 bcdedit 命令)以及设备管理器进行控制。即使 BIOS 中启用了 HPET,操作系统也可能选择不显式使用它,除非强制启用;反之亦然:即使 HPET 并不适合我们的特定情况,也可以强制启用它。
为了确保行为改变真正一致,最好协调配置:如果我们不想使用 HPET,则在 BIOS 中禁用它,避免在 Windows 中强制启用它;如果我们想启用它,则确保 BIOS 将其设置为启用,并且 Windows 使用 bcdedit 将其标记为平台计时器。
有哪些类型的连衣裙?除了 HPET 之外,Windows 还包含 `disabledynamictick` 参数,用于控制系统的动态时钟节拍。一些指南会结合调整 HPET 和禁用动态时钟节拍来略微降低某些情况下的延迟,但这并非总是值得的,而且可能会增加空闲功耗。
如何逐步在 Windows 系统中禁用 HPET
在 Windows 系统中,停止使用 HPET 的最直接方法之一是使用管理员权限通过命令行进行操作。这样可以修改启动管理器配置,从而将 HPET 设置为平台定时器或将其移除。
要在系统级别禁用 HPET,关键命令是移除 `useplatformclock` 值,该值指示 Windows 使用 HPET 作为其主要时间参考。移除此值将导致系统停止强制使用 HPET,转而使用其他更高效的计时器,就像大多数现代计算机一样。
许多用户禁用 Windows 系统中 HPET 的常用方法如下:以管理员身份打开命令提示符或 PowerShell,输入相应的命令,然后重启系统以使更改生效。在某些情况下,还会修改设备管理器中的 HPET 设备状态,以阻止 Windows 访问它。
游戏玩家提升帧率和减少卡顿的典型工作流程如下:首先,运行命令“bcdedit /deletevalue useplatformclock”(不带引号)并按回车键。然后,打开设备管理器,进入“系统设备”部分,找到“高精度事件计时器”条目。右键单击该条目,选择“禁用设备”以禁用驱动程序。
应用这些更改后,务必重启计算机。重启后,Windows 将不再强制使用 HPET 作为平台计时器,许多系统性能将会得到提升。具体来说,一些使用最新一代 Intel i5 处理器和中端显卡等配置的用户报告称,在玩《绝地求生》等大型游戏时,帧率提升了约 15-20 FPS,并且画面卡顿现象也减少了。
请注意,并非所有设备的反应都相同:有些情况下改进效果明显,有些情况下几乎察觉不到,少数情况下甚至可能使体验变差(例如卡顿或不稳定)。因此,如果您尝试这些调整,请务必记下您的原始设置,以便轻松恢复。
HPET 和动态滴答最常用的 bcdedit 命令
除了传统的删除 useplatformclock 的方法外,还有许多常用的 bcdedit 命令组合可以用来调整 Windows 计时器的行为。这些命令组合通常用于禁用 HPET 或显式地重新启用 HPET,具体取决于您要测试的内容。
为防止 Windows 将 HPET 用作平台计时器,通常的做法是以管理员身份在命令提示符窗口或 PowerShell 中运行如下序列:
bcdedit /deletevalue 使用平台时钟
bcdedit /set disabledynamictick yes
第一条命令移除 `useplatformclock` 值,该值指示系统不要强制使用 HPET。第二条命令 `disabledynamictick yes` 则禁用动态时钟。这样做之后,一些用户会发现某些线程的延迟降低,响应速度更快,但同时也可能增加计算机空闲时的功耗。
如果在使用 HPET 进行实验后,您想要恢复其使用或检查相反的行为,您可以使用另一对命令重新激活它:
bcdedit /设置 useplatformclock true
bcdedit /set disabledynamictick no
将 `useplatformclock` 设置为 `true` 会使 Windows 使用 HPET 作为参考时钟,这有时可以帮助解决兼容性问题,或解决某些依赖于 HPET 的旧程序的问题。将 `disabledynamictick` 设置为 `no` 会将动态时钟恢复到正常状态,使系统能够更积极地进入低功耗状态。
务必严格按照命令内容输入,包括空格和参数,并且始终以管理员权限在控制台中运行。使用 bcdedit 时出错可能会导致系统无法正常启动,因此请谨慎操作,并尽可能准备好还原点或备份。
使用 bcdedit 进行任何更改后,务必重启计算机,以便启动管理器加载新配置。仅仅注销是不够的:完全重启才能确保新设置真正生效。
Windows 有哪些类型?从设备管理器中禁用 HPET
除了使用 bcdedit 调整设置外,许多用户还会通过在 Windows 设备管理器中禁用 HPET 设备本身来进一步禁用它。这样可以防止系统访问它,即使是作为辅助资源也不行。
操作步骤相对简单:只需右键单击 Windows 开始按钮,然后从上下文菜单中选择“设备管理器”。进入设备管理器后,将出现“系统设备”部分,其中列出了许多计时器、桥接控制器等等。
在这些设备中,您应该会看到“高精度事件计时器”条目,它对应于 HPET。右键单击该行,您会看到“禁用设备”选项。单击此选项将阻止 Windows 在硬件级别使用该计时器。
建议将此操作与命令 `bcdedit /deletevalue useplatformclock` 结合使用,以便启动管理器和操作系统本身都停止依赖 HPET。否则,可能会导致配置不一致,Windows 认为它将使用 HPET,但实际上该设备已被禁用。
如果需要重新在设备管理器中启用 HPET,操作步骤与之前相反:返回“系统设备”,找到“高精度事件计时器”,右键单击,然后选择“启用设备”。结合使用“bcdedit /set useplatformclock true”命令,在大多数情况下可以恢复之前的行为。
与往常一样,更改 HPET 设备状态后,建议重启计算机。虽然某些更改可能看似立即生效,但更常见的情况是,重启后整个系统会使用新的计时器配置进行初始化。
HPET对视频游戏的影响:帧率、卡顿和延迟
HPET之所以在硬件和游戏论坛上如此受欢迎,原因之一在于它对帧率和游戏流畅度的潜在影响。许多玩家反映,禁用HPET后,轻微的卡顿现象消失,平均帧率显著提升。
例如,在《绝地求生》这类竞技游戏中,一些用户通过移除 useplatformclock 并禁用 HPET 设备,就能将帧率从 80-85 FPS 左右(伴有轻微卡顿)提升到 100 FPS 以上,并且游戏体验更加流畅。典型的配置包括超频的 Intel Core i5 处理器、16 GB DDR4 内存以及经过一定程度超频的中端显卡。
通常情况下,提升最大的并非平均帧率,而是最低帧率的稳定性。通过降低因计时器过慢或效率低下造成的延迟,游戏可以更容易地保持稳定的帧时间,即使绝对帧率没有显著提升,也能带来更流畅的游戏体验。
然而,谨慎预期是明智的:实际表现会因处理器、主板、游戏本身以及 Windows 版本而异。在某些系统上,禁用 HPET 几乎察觉不到任何变化;而在另一些系统上,如果某些应用程序需要该计时器处于活动状态,禁用 HPET 甚至可能导致系统不稳定或出现异常行为。
如果你对竞技类网络游戏感兴趣,需要注意一个敏感点:在某些多人游戏中,操纵系统计时器被视为一种潜在的作弊或改变游戏行为的方式,因此一些开发者会对此进行严格审查。曾有案例表明,禁用HPET或其他计时设置会被视为“利用”系统漏洞,并导致玩家受到处罚或被封号。
因此,如果您既用电脑挖矿又玩在线游戏,建议您将设置调得更保守一些。您可以尝试在离线挖矿时禁用 HPET,然后在进入竞技游戏前重新启用;或者,如果您不想冒着触犯严格的反作弊政策的风险,也可以直接使用默认设置。
在 CPU 和 GPU 上进行 HPET 和加密货币挖矿
在加密货币挖矿领域,HPET 也扮演着重要的角色,尤其是在 CPU 挖矿方面。一些高强度算法,例如门罗币使用的 RandomX 算法,对处理器执行线程和访问共享资源的效率非常敏感,而系统延迟正是影响挖矿性能的关键所在。
Windows 11 屏幕闪烁解决方案:如何修复通过禁用 HPET,一些矿工发现矿机的算力略有提升。虽然提升幅度不大,但对于正在榨干老旧或低端硬件性能的矿工来说,这些提升仍然值得尝试。例如,在几代之前的英特尔处理器上,算力提升了大约每秒十次。
在某个特定案例中,使用主频为 3,0 GHz 的 Intel Core i5 4590S 处理器(双线程运行),通过 XMRIG 挖矿软件,采用 RandomX 算法挖 Monero,启用 HPET 后算力约为 1263 H/s,禁用 HPET 后算力约为 1279 H/s。13 H/s 的差距看似不大,但随着时间的推移,在多台机器组成的矿机上累积起来,这个差距就相当显著了。
禁用 HPET 的积极效果在老旧或入门级 CPU 上尤为明显,例如某些 Athlon 或 Celeron 处理器。这些处理器的性能提升空间较小,因此任何系统开销的降低都能转化为哈希率的显著提升。
然而,需要注意的是,HPET 仅对 CPU 挖矿有影响。许多 GPU 挖矿场为了降低成本,使用性能较低的处理器,如果系统时序延迟过高,这些处理器也可能成为瓶颈。在 CPU 性能较弱的 GPU 矿机中禁用 HPET 可以降低系统的整体性能。
对于配备老旧或入门级处理器的矿机,通常建议花几分钟时间尝试禁用 HPET,并在禁用前后分别检查算力和功耗。大多数情况下,收益虽然不大,但却是实实在在的,而对于矿工来说,每一个百分点都至关重要。
使用HPET的优势、风险和最佳实践
修改HPET设置可以带来明显的益处,但也存在风险和一些需要注意的细节。它并非万能灵药,并非总能改善所有情况,而是一项需要谨慎判断的高级设置。
禁用 HPET 的潜在优势包括:一方面,游戏运行更加流畅;另一方面,挖矿性能略有提升。用户调整这些选项通常是为了减少画面卡顿、略微缩短响应时间以及略微提高算力。
缺点在于,主要问题在于稳定性和兼容性。一些较旧或高度特定的应用程序可能依赖于 HPET 的可用性,或者其逻辑是围绕该定时器构建的。在极少数情况下,完全禁用 HPET 可能会导致意外崩溃或异常行为。
另一个敏感问题是与反作弊系统和网络游戏政策的关系。更改系统计时器的行为可能会被检测为可疑的篡改行为。虽然禁用 HPET 在技术上并不算是作弊,但一些开发者认为这是一种不良做法,如果他们认为这会造成不公平的优势,可能会采取行动。
作为一项通用最佳实践,强烈建议在进行任何更改之前创建系统还原点,或者至少详细记录所有更改(BIOS 设置、使用的 bcdedit 命令、设备管理器中的设备状态等)。这样,如果出现任何意外情况,您可以恢复到之前的设置。
最后,请记住,最终结果很大程度上取决于硬件和软件的组合:处理器、芯片组、Windows 版本、驱动程序以及工作负载(游戏、挖矿、多媒体等)。唯一可靠的判断方法就是进行系统测试:在相同条件下,分别测量升级前后的性能,并选择真正能兼顾性能和稳定性的最佳配置。
HPET 是一种高级设置,在某些特定情况下(无论是游戏还是挖矿)都能带来显著的性能提升,但它并不能保证在所有情况下都能带来性能提升。如果您了解它的作用,知道如何在 BIOS、Windows 和设备管理器中正确启用和禁用它,并且接受它对在线使用的影响,那么您可以充分利用它;或者,如果它对您没有明显的益处,您可以保持默认设置。