QueryPerformanceCounter:計時精準度指南
為了提升 Timer 類別的精確度,您選擇了 QueryPerformanceCounter。然而,其實現可能難以捉摸。
QueryPerformanceCounter 的關鍵在於 LARGE_INTEGER 結構,該結構儲存表示計數中時間戳記的 64 位元整數。要確定計數器的頻率,您可以使用 QueryPerformanceFrequency 並將其輸出分配給 PCFreq,它表示每秒的刻度數。
接下來,StartCounter 透過擷取目前時間戳並將其指派給 CounterStart 來初始化計數器。 GetCounter 會擷取目前時間戳記並計算 CounterStart 中經過的時間,將結果除以 PCFreq 將其轉換為秒。
對於微秒精度,請將 PCFreq 減少到千分之一。或者,刪除除以 1000 以秒為單位。
提供的程式碼範例了 QueryPerformanceCounter 的用法。呼叫 StartCounter 啟動計時器,而 GetCounter 會傳回自上次呼叫以來經過的時間。
這種方法為您提供精確的計時,比毫秒間隔有顯著改進。
以上是C語言中QueryPerformanceCounter如何實現精確計時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!