高精度延時,是CPU測速的基礎Windows內部有一個精度非常高的定時器,精度在微秒級,但不同的系統這個定時器的頻率不同,這個頻率與硬件和操作系統都可能有關。
利用API函數QueryPerformanceFrequency可以得到這個定時器的頻率。
利用API函數QueryPerformanceCounter可以得到定時器的當前值。根據要延時的時間和定時器的頻率,可以算出要延時的時間定時器經過的周期數。
在循環里用QueryPerformanceCounter不停的讀出定時器值,一直到經過了指定周期數再結束循環,就達到了高精度延時的目的。高精度延時的程序,參數:微秒二.測速程序利用rdtsc匯編指令可以得到CPU內部定時器的值,每經過一個CPU周期,這個定時器就加一。如果在一段時間內數得CPU的周期數,CPU工作頻率=周期數/時間為了不讓其他進程和線程打擾,必需要設置最高的優先級以下函數設置當前進程和線程到最高的優先級。
SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS)SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL)CPU測速程序的源代碼,這個程序通過CPU在1/16秒的時間內經過的周期數計算出工作頻率,單位MHz