[英]Unable to get Processor Speed in Device
嗨,我正在使用QueryperformanceFrequency获取周期数,即处理器速度。 但这向我显示了错误的价值。 它是在规范中写的,处理器约为400MHz,但是我们通过代码得到的是16MHz。
请使用任何指针:
Wince设备的代码为:
LARGE_INTEGER FrequnecyCounter;
QueryPerformanceFrequency(&FrequnecyCounter);
CString temp;
temp.Format(L"%lld",FrequnecyCounter.QuadPart)`AfxMessageBox(temp);
谢谢,
穆克什
QueryPerformanceFrequency返回计数器外设而不是处理器的频率。 这些外设通常以原始的Crystal时钟频率运行。 16Mhz应该足以让您测量细粒度间隔。
QPF不返回CPU时钟速度。 它返回一个高性能定时器的频率。 在某些系统上,它实际上可能会测量CPU周期。 在其他系统上,它可能使用以相同频率运行的单独计时器。 (但是不受诸如SpeedStep之类的东西的影响,SpeedStep可以更改CPU的时钟速度)。 通常,它完全使用一个单独的计时器,该计时器甚至可能不在CPU本身上,但可能是主板的一部分。
QueryPerformanceCounter / QueryPerformanceFrequency仅保证他们使用系统上可用的最佳计时器。 他们没有保证那个计时器可能是什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.