响应时间准确性

Response Time Accuracy

我将在 Python 3.4 中使用 Pygame 和 PIL 编写响应时间实验。 Python 的内置时间函数是否足够精确以实现毫秒级的响应时间精度? PyParallel 是必需的,还是仅用于 EEG 或眼动追踪实验?

计算机可以比完成此任务所需的时间准确得多。以下打印了我在调用函数后按 Enter 所花费的时间(以秒为单位)。

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

只要您在等待用户输入时不做任何奇怪的阻塞操作,内置的计时功能应该绰绰有余。

Python 的时间函数不是这里的限制因素。根据您的特定计算机和 OS,您可以获得微秒分辨率(受关于多任务处理等的各种警告)。

真正的问题是硬件。 如果您在 USB 键盘上收集响应,则无需担心毫秒时间分辨率例如,具有不确定的滞后和可变性。您需要指定硬件设置,如果需要毫秒计时,则需要对计时性能进行基于硬件的验证。

您还需要指定特定任务的要求。如果你有很多试验要平均,很多糟糕的硬件分辨率都会消失。如果您正在比较不同条件下的响应变化而不是对绝对反应时间感兴趣,那么恒定滞后的影响就会消失(即使滞后是未知的)。