文章編號: 274323 - 上次校閱: 2006年11月21日 - 版次: 3.1 效能計數器值可能會意外地向前迅捷
在此頁中徵狀QueryPerformanceCounter 函式所傳回的結果可能會意外地迅捷向前的時候。這個閏可能代表幾秒鐘。 發生的原因到某些晶片組的工業標準架構 (ISA) 橋接器週邊元件連接 (PCI) 中的設計缺失的結果就會發生這個問題。這個橋接器通常稱為 南橋接器。跳躍點發生於沈重的 PCI 匯流排負荷下操作系統從橋接器取得一連串的非預期的結果時。作業系統會偵測到未預期的結果並計算要新增至效能計數器的金額。這會傳回的結果導致從 QueryPerformanceCounter 向前跳。 解決方案程式必須留意的未預期的跳躍藉由比較中由連續呼叫來 QueryPerformanceCounter 時間 GetTickCount 函式的後續呼叫所決定的變更所決定的時間變更。如果根據 QueryPerformanceCounter (),但不根據 GetTickCount 的類似增加的重大跳躍然後它可以會假設仍然效能計數器只跳轉。在本文結尾處的程式碼範例示範如何執行這項操作。 狀況說明此作業系統的行為是經過設計規劃的。當作業系統會從晶片組取得不可靠的資料時,效能計數器調整是必要的。 其他相關資訊硬體晶片中的設計缺失即為 「 錯誤 」。這些設計缺失可能會造成與已發佈的規格不符合該產品。如特定晶片組的錯誤有關請連絡硬體廠商,如晶片組。 在 Windows 登錄中下列機碼內是 PCI 識別項來識別機器的 PCI 元件: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI 子機碼名稱有下列的表單 VEN_ xxxx DEV_ (& I)yyyy SUBSYS_ (& I)aaaaaaaa REV_ (& I)bb 其中 xxxx: yyyy 代表 PCI 識別項。目前,下列 PCI 識別項的晶片已知展示區效能計數器值中的跳躍點: 摺疊此表格
範例程式碼下列範例程式碼會示範來偵測效能計數器 leaps 上面所述的方法。如果有 PIIX4 晶片組的電腦上執行程式碼,例如這個主控台應用程式會偶發性報告 leaps 在效能計數器值。
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:274323?
(http://support.microsoft.com/kb/274323/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



回此頁最上方