【问题标题】:Response Time Accuracy响应时间精度
【发布时间】:2015-05-21 16:33:44
【问题描述】:

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

【问题讨论】:

  • IIRC, time.time 只是调用操作系统的计时功能。所以...取决于您的操作系统有多准确。

标签: python time python-3.4 psychopy


【解决方案1】:

Python 的时间函数并不是这里的限制因素。根据您的特定计算机和操作系统,您可以获得微秒级分辨率(受制于多任务处理等各种注意事项)。

真正的问题是硬件。如果您在 USB 键盘上收集响应,那么就没有必要担心毫秒时间分辨率,因为它具有不确定的延迟和可变性.您需要指定硬件设置,如果需要毫秒计时,则需要对计时性能进行基于硬件的验证。

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

【讨论】:

    【解决方案2】:

    计算机可以比此任务更准确地跟踪时间。以下以秒为单位打印调用该函数后按 Enter 所用的时间。

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

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

    【讨论】:

    • 你能解释一下“奇怪的时间安排”是什么意思吗?
    • “奇怪的 阻塞 东西” - 任何会阻止程序进一步执行直到完成的资源密集型进程。
    猜你喜欢
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多