PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
a7577272
New Member
 

加入日期: Mar 2013
文章: 6
請教如何寫偵測'cpu現時頻率'的程式?

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

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

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

謝謝
     
      
舊 2013-03-08, 12:47 PM #1
回應時引用此文章
a7577272離線中  
Chrisforested
Major Member
 

加入日期: Jan 2005
您的住址: I-Lan
文章: 108
要顯示在桌面上的話,AIDA64加Sumurize就可以了
 
舊 2013-03-08, 02:30 PM #2
回應時引用此文章
Chrisforested離線中  
PAN_PAN
Junior Member
 
PAN_PAN的大頭照
 

加入日期: Jan 2003
您的住址: Shattrath City
文章: 948
MS window 嗎? 用 WMI 應該沒有撈不出來的

For example: powershell
http://stackoverflow.com/questions/...ove-from-output
舊 2013-03-08, 03:23 PM #3
回應時引用此文章
PAN_PAN離線中  
u3350829
Master Member
 

加入日期: Jun 2002
文章: 2,332
Red face

老實講你真的要準確的話得去看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都會自動變速...
__________________
Es muss sein!
舊 2013-03-08, 03:49 PM #4
回應時引用此文章
u3350829離線中  
cmwang
Elite Member
 

加入日期: May 2002
您的住址: 板橋
文章: 5,106
引用:
作者u3350829
snipped....
你得到的永遠不會是正確的頻率,尤其是現在的CPU都會自動變速...


而且程式沒寫好造成loading上升,CPU還會自動提速....
__________________
士大夫之無恥,是謂國恥....
舊 2013-03-08, 08:03 PM #5
回應時引用此文章
cmwang離線中  
u3350829
Master Member
 

加入日期: Jun 2002
文章: 2,332
Red face

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


是的! 像在下po的土法煉鋼就是這樣只能測到max值或者提速後的數據,
然後WMI去撈資料也是沒用...只要OC過完全不準外加好像也只能得到
固定數據.
目前像CPU-Z那種通常都是照A/I兩家出的資料然後透過CPU定義的固定
方式取得才是最準確的.
__________________
Es muss sein!
舊 2013-03-09, 02:05 AM #6
回應時引用此文章
u3350829離線中  
Sioux
*停權中*
 

加入日期: Dec 2005
文章: 6,087
  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
 
 
 

此文章於 2013-03-09 04:28 AM 被 Sioux 編輯.
舊 2013-03-09, 04:20 AM #7
回應時引用此文章
Sioux離線中  
Vista
Major Member
 

加入日期: Mar 2006
文章: 139
http://stackoverflow.com/questions/...lways-returns-0

用 RDTSC 來算即時 CPU 速度, Turbo core 也可用, 上面例子 inline 用Linux asm, Visual Studio 要改一下
舊 2013-03-09, 04:29 AM #8
回應時引用此文章
Vista離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



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


vBulletin Version 3.0.1
powered_by_vbulletin 2025。