請問DELPHI的TIMER最小是多少秒 |
答題得分者是:dllee
|
ppkliu
一般會員 發表:16 回覆:18 積分:6 註冊:2002-04-22 發送簡訊給我 |
|||||
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|||||
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 聽說可以定義到1ms,真的有到1ms嘛?? verilog cpu DESIGNTTimer 的單位就是 1ms 為單位,但是你設 1 ms 並不能保證每 1ms 就執行一次。 在本站或其他 VCL 站內應該都有許多的 Thread Timer VCL 元件可以使用,使用 Thread Timer 將優先權設高一點,可以讓每 1ms 儘可能執行一次,但還是有可能會多於 1ms,當然,這還要看你的程式是如何寫的,如果在這個 1ms 的 Timer 中,你的程式碼可以保證在很短的時間內執行完如 0.1ms,而如果你的電腦沒有其他程式在執行,那 CPU Loading 約 10% 大概也可以每 1ms 都執行一次你的 Timer,但如果在 Timer 中已經是要花 10ms 才能完成了,那 CPU Loading 最高也只有 100% 而你的 Timer 應該也不可能每 1ms 都執行一次。 關於 Timer 的準確度,與作業系統也有關,在 95/98/Me 下是不可能準到 1ms 的,在 NT/2K/XP 下才有可能準到 1ms,部分的 RealTime System 如 SoftPLC 聲稱在 NT/2K/XP 下可以有 0.5 ms 或 0.33ms 的準確度。 沒空更新的網頁...
------
http://www.ViewMove.com |
||||
ppkliu
一般會員 發表:16 回覆:18 積分:6 註冊:2002-04-22 發送簡訊給我 |
|||||
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 多謝你的回答,我看到一本書上寫的是用組合語言去寫一個DELAY 會比較精準,在DELPHI寫組合語言會不會比較慢。還是DELPHI 可以去呼叫編譯過組合語言的程式來用?? verilog cpu DESIGN在 Delphi/BCB 中寫組語與在其他語言下寫組語都是一樣快的呀! Delphi/BCB 可以直接組譯 inline asm 至於說 Delay 組語寫會比較精準?!這還是與之前一樣,要有作業系統的配合,而真的要準的話,要在 ring0 的層級執行才有可能準。 P.S. 真的有需要那麼準嗎?如果是,用硬體可能會比用軟體來得準。 沒空更新的網頁...
------
http://www.ViewMove.com |
||||
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 聽說可以定義到1ms,真的有到1ms嘛?? verilog cpu DESIGN在陳寬達的深度歷險一書中, 有一段這麼摘述 WINDOWS 95 不論要求多麼短的間隔時間(也就是xxms), 實際上每次觸發開隔時間必定大於54ms, 所以在 95(可能98也類似), 你設定55以下都是必須在54ms時才會觸發ontimer一次 而在 NT下可以有10ms的精準度, 而我自己實測, 設定要 1ms與60ms(在98), 其實求出來的數值沒有任何差別, 因此基本可以設定要1ms, 但實作並沒有作用! |
||||
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 在陳寬達的深度歷險一書中, 有一段這麼摘述 WINDOWS 95 不論要求多麼短的間隔時間(也就是xxms), 實際上每次觸發開隔時間必定大於54ms, 所以在 95(可能98也類似), 你設定55以下都是必須在54ms時才會觸發ontimer一次 而在 NT下可以有10ms的精準度, 而我自己實測, 設定要 1ms與60ms(在98), 其實求出來的數值沒有任何差別, 因此基本可以設定要1ms, 但實作並沒有作用!用 TTimer 應該是會有您說的問題,不過,您可以使用 ThreadTimer 在 NT 下要 1ms 並沒有問題,前題是,沒有其他太占用 CPU 的程式同時執行,並且在 OnTimer 內所作的事是該電腦 1ms 內鐵定可以完成。 利用搜尋工具,很容易可以找到 ThreadTimer 或 MediaTimer 的 VCL 元件,像 LMD-Tools 的免費版本中就有 ThreadTimer ,其 DEMO 中也有多個 ThreadTimer 都是設 1mSec 同時跑,每個優先權設不同,讓使用者可以看看優先權不同的影響。 沒空更新的網頁...
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |