IT之家 6 月 28 日消息,据 techpowerup 报道,ThrottleStop 等流行软件的开发者 Kevin Glynn 发现了一个奇怪的现象,微软 Windows 11/10 的 Windows Defender 会影响英特尔处理器的性能。
在 ThrottleStop 的开发过程中,Kevin 发现,当 CPU 满载时,HWiNFO 将报告频率降低情况。更大的问题是,当 Windows Defender 受到 Bug 影响时,处理器性能将明显降低。例如,以 5.00 GHz 全核运行的 Core i9-10850K,Cinebench 跑分将低 1000 分左右,大约损失 6% 的性能。
据报道,Windows 10 和 Windows 11 上的英特尔酷睿第 8 代、第 9 代、第 10 代和第 11 代(台式机和移动处理器)的用户都报告了这一性能损失,而 AMD 处理器不受影响。
究其原因,Windows Defender 会随机使用英特尔酷睿处理器提供的所有七个硬件性能计数器,其中包括三个固定功能计数器。这些计数器中的每一个都可以在四种模式中的一种模式下进行编程,以配置其计数的特权级别 ——Disabled、OS (ring-0)、User (ring>0) 和 All-Ring 级别。由于这些计数器共享资源,因此多个程序可能希望同时访问这些计数器。
一般的软件都将这些计数器设置为“mode 3”或“All-Ring 级别”。由于它们都设置了相同的模式,因此多个程序使用相同的计数器没有问题。但是,Windows Defender 会将这些计数器设置为“mode 2”,多个程序将不断争抢,计数器控制寄存器会在 0x222 和 0x332 之间不断变化。
据报道,这一问题可能在计算机首次启动时发生,也可能在此后的任何时间发生。当 Windows Defender 在后台运行时,将随时启动和停止或不断尝试将这些计数器更改为“mode 2”。
不过,如果用户手动覆盖这些计数器,Windows Defender 会检测到这一点,并立即停止它正在执行的任何操作,性能也将恢复正常,还不会影响正常的病毒防护,因此我们就可以找到解决方法了。
IT之家了解到,临时方法是使用 Counter Control 工具中的 Reset Counters 按钮,可以一键重置计数器,当 Windows Defender 检测到手动设置,就会停止操作。
更好地解决方法是使用 ThrottleStop 工具,在“选项”窗口中有一个功能,称为“Windows Defender Boost”,勾选之后就可以激活其中一个可编程定时器,从而不断地告诉 Windows Defender 正在使用计数器,从而长时间保持最高性能。