怎么样取得精确的时间?
在windows上取得精确到ms的时间,我有一个办法,就是用cpu自上电起经过的时钟周期数除以cpu的频率。这个方法有个缺点,有很多cpu都是变频的,这样的话就没法算了。
假设每个时钟周期的频率为q1,q2,q3,q4,......,每个时钟周期消耗的时间为t1,t2,t3,t4,.....,总的时钟周期数为c。
q1*t1 + q2*t2 + q3*t3 + q4*t4 + ...... = c
q1,q2,q3,q4,......,c是已知的,怎么求t1+t2+t3+t4+......?
但是用微软的QueryPerformanceCounter和QueryPerformanceFrequency这两个函数就是对的。
它是怎么实现的?
还是这个变频只是cpu其它部分的频率变了,时钟震荡器(不知叫什么名,就是这个意思)的频率并没有变(也就是每个时钟周期的时间是固定的)?