在 CPU 速度超过 2 GHz 的超线程或双处理器计算机上无法运行某些程序

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

本文已归档。它按“原样”提供,并且不再更新。
症状
在超线程计算机、双处理器计算机或 CPU 速度超过 2 千兆赫兹 (GHz) 的单处理器计算机上,可能无法正常运行某些程序(例如:游戏)。
原因
如果您运行的程序使用 QueryPerformanceCounterQueryPerformanceFrequency 函数生成时间代码,但只使用结果中较低的 32 位,并且假定其为经过签署的数字,就可能会出现上述问题。在超线程计算机、双处理器计算机或 CPU 速度超过 2 GHz 的单处理器计算机上,某些程序可能会错误地解释输出,结果是程序可能无法正常运行或可能停止响应。
解决方案
要解决此问题,请与不能正常运行的程序的制造商联系,确定是否有可以解决该问题的更新。
状态
Microsoft 已证实这是由于程序错误识别 QueryPerformanceCounter 和 QueryPerformanceFrequency 输出而出现的问题。
更多信息
在某些计算机上,由 QueryPerformanceFrequency 返回的结果将作为 CPU 的时钟速度。在处理器运行速度超过 2.1 GHz 的计算机上,该频率值需要至少 32 位的精度。某些程序将 QueryPerformanceFrequency 的结果用作经过签署的整数值,该值只有 31 位精度并带有符号标志。这些程序在这些较快的 CPU 上无法正确运行。要避免出现此问题,程序必须使用由 QueryPerformanceFrequencyQueryPerformanceCounter 返回的所有64 位。

有关超线程技术的更多信息,请访问下面的 Intel Web 站点:有关如何联系第三方产品(导致本文“症状”部分描述的问题)的制造商的信息,请单击以下列表中适当的文章编号,以查看 Microsoft 知识库中相应的文章:
65416 硬件和软件第三方供应商联系人列表,A-K

60781 Hardware and Software Third-Party Vendor Contact List, L-P

60782 Hardware and Software Third-Party Vendor Contact List, Q-Z
Microsoft 提供了第三方联系信息以便于您寻求技术支持。这些联系信息如有更改,恕不另行通知。Microsoft 不保证这些第三方联系信息的准确性。

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证。
crash hyperthreading hyperthread hyperthreaded
属性

文章 ID:327809 - 上次审阅时间:01/12/2015 20:47:22 - 修订版本: 1.0

Microsoft Windows XP Home Edition, Microsoft Windows XP Professional Edition

  • kbnosurvey kbarchive kbnofix kbprb KB327809
反馈