2015-05-21 104 views
1

我將用Pygame和PIL編程Python 3.4中的響應時間實驗。 Python的內置時間函數是否足夠準確,可以達到毫秒級的響應時間準確度? PyParallel是必要的,還是僅僅需要進行腦電或眼動追蹤實驗?響應時間準確度

+0

IIRC,'time.time'只是調用操作系統的定時功能。所以...取決於您的操作系統的準確性。 – Kevin

回答

2

Python的時間函數不是限制因素。根據您的特定計算機和操作系統,您可以獲得微秒級的分辨率(受到多任務等各種注意事項的影響)。

真正的問題是硬件。如果您在USB鍵盤上收集響應(例如,具有不確定的滯後和變化性),毫秒時間分辨率毫無疑問。您需要指定您的硬件設置,並且如果需要毫秒時間,那麼您將需要對時序性能進行基於硬件的驗證。

您還需要指定您的特定任務的要求。如果你有很多試驗平均結束,許多可憐的硬件分辨率就會消失。如果你比較不同條件下的反應變化,而不是對絕對反應時間感興趣,那麼常數滯後的影響就消失了(即使滯後時間未知)。

0

計算機可以比此任務更準確地追蹤時間。以下內容打印出我在調用該函數後按輸入所花費的時間。

>>> import time 
>>> def timing(): 
...  t = time.perf_counter() 
...  input('go!') 
...  print(time.perf_counter()-t) 
... 
>>> timing() 
go! 
0.09541451768191678 

只要你在等待用戶的輸入時沒有做任何奇怪的阻塞的東西,內置的定時功能應該是綽綽有餘的。

+0

你能澄清你'怪異的計時東西'是什麼意思嗎? – AppliedNumbers

+0

「Weird __blocking__ stuff」 - 任何資源密集型進程,阻止進一步執行程序直至完成。 – TigerhawkT3