引用:
Originally posted by Adsmt
感謝各位的支持與回應,現在我就為大家所提出的問題一一做回答。
1. 有人建議分別支援各式指令(SSE SSE2 SSE3 等),雖然說也不是不可,但這只是一個要讓 CPU 保持在 100% 的程式,似乎不是很有意義說......
2. 這個程式的運做方式很簡單,而且答案就寫在介面上了。Number of Threads 是用來調整系統的負擔的。當 threads 愈多,會和你其它程式搶 CPU 的就會更多,因此你自己就依情況調整就可以了。
有位朋友說在他的電腦「居然可以跑到50%左右」, 哇,你是用什麼 CPU, 我 P4 3G 用一個 thread 就已經是 100% 了,所以我內定程式最多只有十個 threads, 看來我有必要修改版本,增加 thread 的數目和 priority, 來對付暴力 CPU 了......
3. 這個程式本身就是希望在保持 100% 使用時又不和其它程式搶 CPU, 目的就是在做測試時還能使用電腦。如果你只是想測全速溫度且能確定你的系統是穩定的,那當然可以做任何其它事;但如果是想測超頻是否成功,那就不建議跑會存取硬碟的程式。
4. 因為我本身時間有限,所以把原始碼放出來的目的,就是希望有能力的人能自由修改,而讓程式更完美。
感謝各位的指教。
|
Sorry,我沒說清楚,讓您會錯意了
在WinNTBase的系統裡
開啟工作管理員,在CPU使用率的那個視窗
通常都是用綠色的線來表示目前有多少程式佔據CPU的反應時間
只要CPU的時間不要被佔據到100%
基本上CPU還有餘力去為其他的執行緒服務,當然還要看該執行緒的優先權高低為主
但是開啟"顯示核心程式的時間"後,會多出紅色的線
我的意思是,使用了你的程式後,這條紅線衝到了50%
平常在跑測試程式的時候,我都會把工作管理員打開來看
因為我的電腦只能算是普通的(XP2200+)
所以我比較喜歡看哪支程式能把那條紅線衝到最高
雖然我不是很確定哪條紅線到底是不是代表CPU的暫存器完全受到挑戰,全力運作
但是跑一般的迴圈,只會讓綠色那條線衝到100
而紅色那條線往往是貼在1或2的數值這邊跑
我個人稱這個現象為"引擎空轉"
因為我們用的CPU都是複雜指令集的格式
所以在跑迴圈或是SuperPI等等的程式時,我個人覺得他只有用到一小部分的電晶體
也就是很小部分的X86指令集被使用到
而我只有在玩3D遊戲,或是VMWare等等虛擬機器的軟體
那條紅線才會有機會衝到100%
我想表達的是這個意思
很抱歉讓你誤解了
而我昨天稍微想了一下
也許是因為.Net的語言也是採用所謂的中介語法
是執行在CLR底下的
再加上你採用產生多執行緒的方法
因此讓我這顆CPU的紅線能衝到50%
以上言論,是我個人的經驗
有錯請大家指正
畢竟沒有人是全能的
謝謝大家囉