
精准计时
背景与背景
反应时间在心理研究中用于量化认知过程和行为。反应时间的明确定义与出现刺激与反应之间经过的时间有关。
准确测量反应时间有两个组成部分:刺激的开始时间和参与者反应发生的时间:


准确测量在线环境中反应时间的两个主要组成部分和影响其量化的因素。
为了准确测量反应时间,必须知道刺激开始的确切时间(点A),以及参与者反应发生的时间(点B),因为反应时间是这两者之间的差异。从这两个点很容易确定参与者的反应发生的时间,但确切了解刺激开始发生的时间(点A)是具有挑战性的。
为什么确定点A发生的时间具有挑战性?影响刺激出现的主要原因有三:
屏幕刷新率: 监视器的刷新速率为60Hz,因此如果有东西计划发生,它只能在监视器刷新时发生。虽然这在毫秒级别上,但这是一个重要的量化因素(我们稍后讨论如何通过请求动画帧来测量),因为它直接影响实验的顺序。
编程的性质: 所有实验都基于编码,代码必须经过处理才能执行,因为没有任何事情是瞬时的,通常需要1-2个刷新周期。
设备容量: 尽管这种情况并不常见,但如果参与者的设备容量非常慢,刺激呈现可能会滞后,因为所有的系统延迟(例如计算机冻结)。我们稍后讨论如何检查这个问题(JavaScript事件循环)。
总之,反应时间受到许多因素的影响,而这些因素是技术流程建立的基础,以便准确确定刺激开始与参与者反应之间的时间。
关于 行为研究方法 中的同行评审出版物
查看这篇于2022年5月在 Springer Nature 的 行为研究方法 上发表的同行评审文章。作者得出结论,Labvanced 的反应时间测量比其他基于网络的工具更准确。

我们的流程:Labvanced 的精准计时管道
为了提供精准计时和反应时间,我们的软件遵循以下步骤:
预加载(缓冲): 确保所有实验刺激在实验开始之前就被加载并在本地可用,以便在实验进程中不进行加载。因此,如果参与者想参与研究,所有刺激(图像、音频和视频)已从我们的服务器获取并本地加载到他们的计算机上。
预渲染: 当实验开始时,内容会递归创建,以便下一个画面和试验在后台加载,并在参与者准备好继续时立即可以使用。这是通过预渲染机制驱动的。
参与者特定测量: 由于在线研究在浏览器中开始,每个参与者都有有限的计算机资源(GPU、CPU),这些资源必须考虑,因为它们会影响性能。我们捕捉任何潜在的延迟,并将其提供给研究人员作为纠正变量,这也可以作为排除标准。


Labvanced 中精准计时和捕捉准确反应时间的一般流程。
保存参与者的响应
所有实验都在参与者的计算机上本地进行。因此,运行实验技术上并不需要互联网。互联网仅在开始时用于将实验本地预加载,然后在结束时用于将数据和响应上传回服务器。
然而,如果有相应的设备,我们的软件设置为在每次实验后自动保存数据记录和响应。这一点很重要,因为:
- 本地浏览器无法保持或缓存无限量的内存。通过频繁备份,可以释放内存,从而不致于导致系统滞后。
- 如果参与者停止或退出,至少会保存他们在终止参与之前完成的试验及其所提供的响应的数据。
关于时间戳
当实验处于活动状态时,Labvanced 应用程序无法访问计算机上的所有其他进程或部分。然而,在记录反应时间时,需要时间戳,应用程序可以访问计算机时钟的系统时间,以确定点A(刺激开始)和点B(参与者反应)发生的时间。由于计算机有一个通用的系统时钟,因此无论您在何处或使用什么都相同。
关于系统架构和反应时间数据流程
尽管上述管道捕捉到反应时间过程的基本步骤,但以下是 Labvanced 内部所有正在进行的详细解释,以确保反应时间测量的准确性和精确性。
预加载(缓冲)
预加载或缓冲发生在实验开始之前。Labvanced 被设置为在研究开始之前下载所有实验刺激。这包括所有元素,例如图像和视频。它们都从 Labvanced 服务器被提取并下载到参与者的设备上,以便在实验进行时无需进行下载。


Labvanced 中预加载/缓冲机制的主要步骤。
预渲染机制
Labvanced 的 预渲染机制 用于提前构建实验任务、试验和画面的结构。例如,如果您处于任务的试验 #1 中,我们会预渲染当前和即将进行的试验中的所有画面,以便在实验进行时无需加载,包括指令、文本、音频对象、固定交叉点等。通过提前构建试验和画面,可以防止浏览器变慢或被压倒。


Labvanced 中预渲染机制的主要步骤。
参与者特定测量
由于设备和计算机之间的固有变异性,性能会受到定义的影响。单独在本地系统上运行实验,这些系统本质上受到资源的限制(例如,速度和内存并不是无限的,而是受到其技术规格的限制),刺激可能未按预期显示(例如,可能会有几毫秒的延迟)。
为了捕捉这些设备和参与者特定的波动,我们设置了以下机制:
- 请求动画帧
- JavaScript 事件循环
请求动画帧
每隔60毫秒,监视器独立地更新和刷新,这是所有计算机和显示器的常量。为了确定刺激的呈现是否存在延迟(在毫秒范围内),对于所有计时刺激出现的情况,使用请求动画帧。
假设您执行代码以在2000毫秒时显示刺激,当您执行时,什么也不会发生,刺激将在下一个刷新率,即60毫秒(Hz)后,在240毫秒标记上自动呈现。您可以测量这个小延迟并在事后进行调整。由于我们使用请求动画帧,您可以确切知道命令何时被执行(实际上发生/出现在监视器上时)并进行相应调整。


Labvanced 中请求动画帧机制的演示。
JavaScript 事件循环
参与者特定测量的另一个例子与确定设备的速度有关。
如果您的计算机较慢,可能是因为有活动的系统进程正在占用可用的 CPU。因此,浏览器在有限资源中工作,因此一切都会变慢。
为了确定参与者级别是否发生这种情况,我们使用 JavaScript 事件循环和回调函数,它在后台自动(默认)运行,以测量函数调用自身所需时间。如果在5毫秒内没有返回,则意味着参与者的浏览器/计算机较慢,可能会影响反应时间测量的实验结果的完整性。我们报告参与者回调函数返回所需的平均值(以毫秒为单位)。


JavaScript 事件循环、回调函数的步骤,用于使用 Labvanced 确定计算机速度。
在 Labvanced 完成的数千项研究中,我们发现超过95%的参与者报告的值低于3毫秒,有时甚至低于1毫秒。但在某些情况下,结果的平均值在200-300毫秒之间,这可能会提示研究人员考虑将某个用户的数据从最终数据集分析中排除。
Labvanced 的反应时间和精确计时能力的关键功能:
我们测量参与者响应的顶级功能和能力包括:
- 刺激呈现的时间准确性
- 刺激呈现的空间准确性
- 眼动追踪准确性 和采样率
- 对每个参与者设备和屏幕相关延迟的量化和测量,允许标准化、对象之间的可比较性和纠正。这是通过前面部分中描述的事件循环精度和请求动画帧实现的。


Labvanced 的精确计时/反应时间解决方案的关键能力和特征。
Labvanced 精准计时的优点
由于这些步骤和机制,Labvanced 提供了一种准确且精确的解决方案,用于在线实验中的反应时间测量。我们强调我们平台的以下优点:
- 刺激的计时控制: 研究人员知道刺激在屏幕上呈现的确切时间,从而允许进行调整和准确测量。
- 强大的计算和编程机制: 为了确保研究人员报告最准确的数据,我们使用强大的计算和编程机制,以准确量化刺激在参与者屏幕上的出现时间。
- 经过尝试和测试: 我们与来自世界各地的研究人员合作,微调我们的平台,因此我们的功能已被无数研究和学术机构在使用我们的在线反应时间测量作为其研究和出版作品的基础的情况下经过尝试和测试。
反应时间的样本数据与指标

参与者在使用 Labvanced 执行 Stroop 任务会话中的数据报告;右侧第3列显示记录的反应时间。
LV 图书馆研究:
有许多研究测量反应刺激发生的时间,以下是几个以反应时间测量为核心的任务示例:
- N-back 任务: 一项测量工作记忆容量的认知测试。呈现刺激,参与者被挑战去匹配是否是与 n 步前呈现的相同刺激。
- Stroop 任务: 这个经典任务展示了当参与者面对不一致刺激(一个写着“黄色”但被涂成蓝色的单词)时,反应时间增加的情况。
- 面部识别: 面部识别在人的本性中根深蒂固,可以测量参与者识别或区分一个或多个面孔所需的时间。
使用 Labvanced 的精准计时的热门研究领域:
- 警觉性
- 认知衰退
- 感知
- 性能测量
- 特征识别
