作者justaID (快樂崇拜)
看板Flash
標題[問題] AS3 Timer 計時器 延遲
時間Thu Aug 19 19:18:48 2010
最近在研究Timer計時器,發現時間間隔越短,延遲狀況越嚴重
雖然說AS3的Timer允許時間間隔最小設定到1ms,但跑起來延遲狀況卻很嚴重
如:var myTimer:Timer=new Timer(1,1000);
應該1秒跑完,但我跑的結果,實際上卻跑了將近8秒才跑完
我進一步測試,發現就連500ms也會延遲(20秒要花21秒跑完,30秒要花32秒跑完)
一旦時間拉長,豈不誤差很大!?
請問這是個人電腦效能的問題,還是AS3本身的問題?
(如果是後者,我可以理解因呼叫函數次數多,速度相對慢;
但這樣AS3本身的設定不就不精準了?)
謝謝大家~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.88.67
※ 編輯: justaID 來自: 220.134.88.67 (08/19 19:21)
1F:→ ericinttu:你為什麼要讓它這麼忙? 08/19 19:31
2F:推 etrexetrex:cool 有新梗了 誰來實作一個自動調整時間間隔的 Timer 08/20 00:06
3F:→ dsmwang:用getTime判斷,結果發現延遲的更多XDD 08/20 01:24
4F:→ justaID:1樓大XD 因為遊戲計時器需要計時到0.01 不得不讓它忙一點 08/20 02:16
5F:→ justaID:順便測0.001秒 延遲8倍 就算0.01秒的延遲也將近2倍 08/20 02:18
6F:→ justaID:在遊戲計時上就失去準確 08/20 02:20
7F:推 ericinttu:你還是沒回答到我的問題. 沒必要每1ms都把所有的東西都 08/20 04:07
8F:→ ericinttu:重頭做過一遍吧, 如果真要如此, 那就要改你的流程架構了 08/20 04:08
9F:→ ericinttu:時間的精準度,也是要符合現實面. 08/20 04:09
10F:→ justaID:喔!我每1ms做的事情只有對一個int變數++,以及印出該變數 08/20 05:12
11F:→ justaID:並沒有做其他事 單純用來計時 這樣不算做太多事吧? 08/20 05:14
12F:→ justaID:(等於函式裡只有2行很短的程式) 08/20 05:15
13F:→ ericinttu:就回歸到取樣頻率是否要到1ms,如果是的話,Flash 的架構 08/20 08:53
14F:→ ericinttu:是否能支持你這麼做? 08/20 08:54
15F:→ justaID:我就是來請教這一點的^_^ 究竟是電腦效能問題還是Flash架 08/20 10:59
16F:→ justaID:構問題 我必須顯示數字到10ms 如果是後者就得另謀他法~"~ 08/20 11:00
17F:→ ericinttu:我之前有做一個小東西,顯示單位到1ms,初步看起來沒有 08/20 12:24
18F:→ ericinttu:delay,要看那個網址嗎? 08/20 12:25
19F:→ ericinttu:要的話丟我水球 08/20 12:26
20F:→ justaID:不會用水球 已站內信給大大 謝謝! 08/20 13:36