全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2878
推到 Plurk!
推到 Facebook!

直接執行編譯好的執行檔與在BCB下執行F9的差異在哪裡?

尚未結案
FMHsu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-09-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-11 09:32:40 IP:220.130.xxx.xxx 訂閱
大家好,
我寫了一個程式,內有多執行緒,以及影像處理等等。
若我直接執行程式的執行檔,我的CPU使用率會高達70~90%
但是我若是用BCB的Debug Mode,按下F9,這樣CPU使用率會差不多10~40%>
請問有誰知到這裡的差異,如何降低執行執行檔下的CPU使用率?
3Q
------
水光山色與人親,說不盡,無窮好。
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-12 18:17:53 IP:203.204.xxx.xxx 訂閱
在BCB Debug Mode 執行的時候, 請問 CPU 使用率主要被哪些吃掉了 ?
Project.exe 吃 10-40% , 那 BCB 本身呢 ?
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-13 00:13:23 IP:203.73.xxx.xxx 訂閱
我猜...就像這樣...

獨立執行檔 = while (true) do ;

BCB F9 =
while(true) do
begin
sleep(300);//被BCB debug抓走存取權的部份
//something
end;


所以如果你想要降低使用率,就在那些無窮迴圈的run裡面加上sleep吧..XD
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
編輯記錄
Coffee 重新編輯於 2007-05-13 00:23:12, 註解 無‧
FMHsu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-09-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-14 09:59:07 IP:220.130.xxx.xxx 訂閱
pcboy大哥,記錄CPU使用率的情況如下
Condition 1:開機後直接執行程式
1.System Idle Process ~30%
2.My_Program ~70%
Condition 2:bcb下按F9
1.System Idle Process ~98%
2.My_Program ~2%
3.bcb.exe ~0%
Condition 3:退出bcb後,在執行我的程式(怪吧,我不懂這情況)
1.System Idle Process ~98%
2.My_Program ~2%
//---------
Coffee大哥
根據你的建議,我把執行緒,與影像分別關閉,測試的結果發現,若是影像關掉後
CPU使用率降到2%左右。罷特,這我又不懂了,我單獨抓影像觀察時,那時CPU
使用率約30%,怎麼程式寫完後爆沖到70%。
我用的影像卡是EureSys Picolo pro2。
顯示位置是在Form上面的Image元件,程式寫在該Form的FormPaint(...)事件裡面。



------
水光山色與人親,說不盡,無窮好。
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-18 18:56:05 IP:220.130.xxx.xxx 訂閱
我不能確定你的程式與環境是怎樣,
但是會用到CPU的部份,少不了是等待迴圈、Disk I/O(當然也包含了程式本身使用到的Page Memory)等等的,
所以你讀/寫大的影像檔的時候一定會有比較高的CPU usage,
如果你的thread裡面也有等待迴圈的時候,如果處理的事情又比較佔CPU,
那麼在BCB會抓取你的執行程式資訊狀況下,就會讓程式的處理優先權部份被BCB帶走,
造成你看到在BCB下跑的CPU使用率比較低,但相對的可能就整個程式在處理上相對的花了多一點時間(也許不那麼明顯)
我倒覺得這並不會是你在撰寫程式時必要考慮的因素,
除非你的程式在某些功能上有效能瓶頸,再來考慮,會比較簡單一點,
至於BCB到底怎麼去干涉執行程式的部份..恕小弟我功力不夠高..:P
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
FMHsu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-09-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-18 23:39:37 IP:218.168.xxx.xxx 訂閱
若不是我的程式在執行的過程中,跑著跑著Image元件(顯示影像的地方)會突然的消失,
其他按鈕,文字之類的都還是正常顯示。
以前不會,現在會。
我想我也不會去想這個問題。
其實算不算是效能,我也不知道,總之我現在還在找可能的原因便是。3Q。
------
水光山色與人親,說不盡,無窮好。
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-19 00:00:59 IP:203.67.xxx.xxx 訂閱
重點就是你現在才講出口,如果只靠原本的問題能夠找到答案嗎?..:P
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
FMHsu
一般會員


發表:2
回覆:4
積分:1
註冊:2006-09-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-19 00:23:34 IP:218.168.xxx.xxx 訂閱
 真拍賽,我只看程式碼很久了,看不出問題出在哪裡,我就想說是『電腦爛,把我的Image吃掉』.....
於是便想問問大家,怎麼樣創一個環境,像BCB那樣,可以讓我程式執行時,CPU使用率降低。
就像我上面提過,只要我執行過BCB,再把BCB關掉,在執行我的程式,CPU使用率會神奇的降低.....
我想偏了..哈哈。。。 真拍賽。
------
水光山色與人親,說不盡,無窮好。
系統時間:2024-04-24 7:11:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!