2013-07-29 77 views
1

我計劃進行一項科學實驗,其中計時精度將非常重要。我將使用的應用程序是在Adobe AIR中開發的,它應該測量兩次按屏幕按鈕之間的時間。現在我已經閱讀了一些關於AS3中Timer的準確性的內容,並且它是次優的,因爲它取決於性能和幀數,我相信,但我想知道在我的情況下這是否會成爲問題,因爲我只需要測量第二次按鈕點擊後的時間差,是按下後啓動的事件。使用getTimer()時的計時器準確度 - buttonpress後的開始時間

有人可以幫我嗎?

在此先感謝。

回答

0

我期望如果您的應用程序的重量儘可能輕,您可以使用getTimer()實現1ms的精確度,因爲事件未處理時實際消除了幀渲染時間。但是,更多與操作系統相關的差異超出了AIR開發人員的控制範圍,這可能會緩解您獲得比每幀一次(16ms上限)更高精度的嘗試。當然,應用程序應始終激活。

+0

感謝您的回覆。 該應用程序將始終處於激活狀態並處於最前沿,實際上它並不很重(只有兩個靜態按鈕可見)。在mousemove事件之後註冊starttime(爲了在點擊之後省略響應時間),那麼它只是等待第二次點擊,並且它再次使用getTimer()來計算結果。 另外,這與我使用舞臺幀速率有關嗎?現在我使用30 fps。 – user2629641

+0

如果您沒有收到不能被33(1000/30)整除的輸出,那麼它應該很重要,這意味着不能達到小於幀時間的精度。如果您不需要捕捉少於一幀的時間,則無需擔心。我認爲測試應該提供實際的限制,但不幸的是我無法爲移動開發。 – Vesper

+0

其實我的應用程序不適用於手機,它只是桌面上的Air應用程序。出於好奇,爲什麼我需要獲得33以外的可見輸出? – user2629641