Panel & Image 太多是否很耗CPU資源 |
尚未結案
|
yuban_cyn
一般會員 發表:1 回覆:2 積分:0 註冊:2004-08-31 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
yuban_cyn 您好: 這種現象大概是因為您的程式中使用的圖檔太多,而載入圖檔的動作尚未作完所致,當圖檔全部都載入完畢後,應該就不會有這種現象了,當然啦~如果您的記憶體已經全部都被佔用光了,那麼在您操作程式時,會因為視窗系統將存放在虛擬記憶體 (磁碟暫存檔) 的資料載入記憶體,並將暫時未用到的資料 (其它未被 Focus 的程式) 儲存到虛擬記憶體中,因此而導致磁碟 I/O 頻繁,進而導致 CPU 滿載。 因為您提供的資訊有限,因此我也和 Stallion 一樣僅能用猜的,您參考看看吧。 7 天天敲鍵盤 v 時時按滑鼠 8
|
yuban_cyn
一般會員 發表:1 回覆:2 積分:0 註冊:2004-08-31 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
yuban_cyn 您好: 您可以說明一下那些圖檔是靜態的 (載入後即不再變更) 還是動態的 (不時的在更換) 嗎? 如果是靜態載入的,那麼請您再確認一下,是在載入圖檔的當時有近於滿載的現象,載入完畢後即不再有該問題,還是所有圖檔全部載入完畢後,仍持續有該現象?如果是前者的話,那是正常的,如果是後者的話,可能就要看您的程式是如何寫的,才能找出問題了。 如果是動態的,那就有可能是磁碟 I/O 過於頻繁所致,下列這篇討論中有部分資訊可以參考一下:
效能100%的疑問
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=71077
7 天天敲鍵盤 v 時時按滑鼠 8
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
yuban_cyn
一般會員 發表:1 回覆:2 積分:0 註冊:2004-08-31 發送簡訊給我 |
這16個 panel 是同時放在一個畫面顯示的, 而個 panel 上有 20幾個 15x15 左右的小圖貼在上面. 因為這些小圖是要顯示機器上的燈號, 會2秒更新一次, 所以是動態的. 不過貼上的圖只有 紅, 綠, 灰...等幾種顏色的小圖, 大多都是每個 panel 上重複貼上這幾個image的, 應該不會用到 disk I/O 來存取. 而我安裝的環境只有單純的 win2000 而不會再灌其它的軟體. 跟 RedSnow 兄所說 效能100%的疑問 的問題不一樣. 我想會不會是顯示晶片的問題. 因為是安裝在小台的工業電腦上. 或者是 for loop 太長, 因為要判斷很多 state 來貼圖. 而 Stallion 兄說用 PAGE CONTROL, 在這個程式是沒辦法的, 因為要讓使用者看到所有機器的狀況. 謝謝各位, 沒想到各回答的速度這麼快 發表人 -
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
yuban_cyn 您好:
引言:....不過貼上的圖只有 紅, 綠, 灰...等幾種顏色的小圖....既然如此,您或許可以考慮將那 320 個 Image 拿掉,改用 Panel 來代替,直接設定 Panel 的 Color 值。 我剛才設了 320 個 15x15 的 Panel 來作模擬測試,產生幾個結果如下: * 測試環境:Windows 2000 BCB4 192MB RAM (執行前可用空間約剩 32MB) * 設定條件:Timer Interval = 100
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |