PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   請教如何寫偵測'cpu現時頻率'的程式? (https://www.pcdvd.com.tw/showthread.php?t=1004393)

a7577272 2013-03-08 12:47 PM

請教如何寫偵測'cpu現時頻率'的程式?
 
如題 請問如何寫偵測'cpu現時頻率'的程式?

因為現在只有找到偵測cpu百分比的方法

Ps. C & C++ & VB 都可以

謝謝

Chrisforested 2013-03-08 02:30 PM

要顯示在桌面上的話,AIDA64加Sumurize就可以了

PAN_PAN 2013-03-08 03:23 PM

MS window 嗎? 用 WMI 應該沒有撈不出來的

For example: powershell
http://stackoverflow.com/questions/...ove-from-output

u3350829 2013-03-08 03:49 PM

老實講你真的要準確的話得去看I和A兩家CPU公佈的資料裡面有很多可以參考的
ex: http://www.intel.com/content/www/us...ction-note.html

不然土法煉鋼像這樣的寫法:
void GetProcessorSpeed()
{
double dCPUSpeedMHz = 0.0;
wchar_t sCPUSpeedMHz[1024];
LARGE_INTEGER qwWait, qwStart, qwCurrent;
QueryPerformanceCounter(&qwStart);
QueryPerformanceFrequency(&qwWait);
sCPUSpeedMHz[0] = 0;
qwWait.QuadPart >>= 5;
unsigned __int64 Start = __rdtsc();
do{
QueryPerformanceCounter(&qwCurrent);
}while(qwCurrent.QuadPart - qwStart.QuadPart < qwWait.QuadPart);
dCPUSpeedMHz = ((__rdtsc() - Start) << 5) / 1000000.0;
swprintf_s(sCPUSpeedMHz, 1024, _T("%f"), dCPUSpeedMHz);
MessageBox(sCPUSpeedMHz, _T("CPU MHz"), MB_OK);
}

你得到的永遠不會是正確的頻率,尤其是現在的CPU都會自動變速...

cmwang 2013-03-08 08:03 PM

引用:
作者u3350829
snipped....
你得到的永遠不會是正確的頻率,尤其是現在的CPU都會自動變速...


而且程式沒寫好造成loading上升,CPU還會自動提速:laugh::laugh:....

u3350829 2013-03-09 02:05 AM

引用:
作者cmwang
而且程式沒寫好造成loading上升,CPU還會自動提速:laugh::laugh:....


是的! 像在下po的土法煉鋼就是這樣只能測到max值或者提速後的數據,
然後WMI去撈資料也是沒用...只要OC過完全不準外加好像也只能得到
固定數據.
目前像CPU-Z那種通常都是照A/I兩家出的資料然後透過CPU定義的固定
方式取得才是最準確的.

Sioux 2013-03-09 04:20 AM

  A社原廠軟體AMD Power Monitor可以即時監控每一核心各自「真實電壓」及「真實時脈」,包括TurboCore時的「自動加壓」及「衝刺時脈」,降壓超頻一樣正確呈現,再附贈NB電壓及時脈:

http://forum.pcdvd.com.tw/showpost....61&postcount=17



  跟另一套更肥又易當的原廠軟體AOD(AMD OverDrive)的顯示方式和數據類似,現在版本是4.2.6:

http://sites.amd.com/us/game/downlo...s/overview.aspx



  也許可到A社搜搜有沒釋出此類原廠軟體的文件甚至源碼...

http://sites.amd.com/us/Documents/A...lease_Notes.pdf



  之前像石牌主機板自家的CnQ工具軟體就無法正確偵測時脈,也無法打檔:

http://www.pcdvd.com.tw/showthread....01&page=8&pp=10
 
 
 

Vista 2013-03-09 04:29 AM

http://stackoverflow.com/questions/...lways-returns-0

用 RDTSC 來算即時 CPU 速度, Turbo core 也可用, 上面例子 inline 用Linux asm, Visual Studio 要改一下


所有的時間均為GMT +8。 現在的時間是11:18 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。