E-Prime 尽量减少与操作系统的所有交互。虽然我们无法在每一毫秒都进行测量,但我们的方法使时钟读取延迟和/或遗漏变得非常罕见,并确保结果在统计上有效且准确。
优先级
E-Prime 使用的第一种技术是在收集数据时告诉操作系统以尽可能高的优先级执行 E-Prime 程序(E-Run)。E-Prime 在确定适合您系统的适当优先级级别时会考虑多种因素。
PST 的测试表明,双核或多处理器系统上的性能优于单处理器系统。当使用多个核心或处理器运行时,E-Run 被中断的可能性较小。然而,虽然这种中断被最小化了,但并未完全消除。此外,对外围设备的访问和用于刺激呈现的外围设备性能仍然存在顾虑。因此,即使 E-Prime 在专用进程上运行,您仍然必须利用 E-Prime 的其他解决方案来优化实验中时间关键组件的性能。
注意 :然而,用户可以采取的一项重要操作是移除 E-Run 数据采集计算机上运行的任何不必要的程序,包括活动的网络或互联网连接。我们建议使用 Microsoft 的 MSCONFIG 实用程序来识别可能在后台运行的程序,然后关闭那些对系统运行不必要的程序。请参阅 INFO: 如何使用 MSCONFIG 排查机器配置并减少后台应用程序 [17932] 。
计时模式
由于操作系统的需求、准备刺激所需的时间以及用于预设刺激的硬件系统的限制,实验中会出现计时延迟。虽然本节描述了 E-Prime 提供的多种技术以尽可能减少计时延迟,但这种延迟无法完全消除。因此,重要的是您需要决定当这些延迟发生时 E-Prime 应该如何响应。E-Prime 提供两种计时模式来回答这个问题:事件模式(Event mode)和累积模式(Cumulative mode)。这些计时模式设置可以在 E-Studio 环境中大多数 E-Object 的持续时间/输入属性中找到。
考虑以下示例:假设您要呈现一系列五个显示,每个显示出现 100 毫秒。进一步假设在显示 #1 出现后,实验暂停了 20 毫秒以加载位图。这引入了一个计时误差。第一个显示不是按要求的 100 毫秒呈现,而是 120 毫秒,因为在 20 毫秒的延迟期间,显示 #1 继续出现。作为进一步的后果,第二个显示将不会在预期时间开始,即它将在第一个显示出现后 120 毫秒而不是最初指定的 100 毫秒时开始。
应该如何处理这个误差?E-Prime 应该将第二个显示呈现 100 毫秒,从而延迟后续三个显示的开始时间吗?还是应该缩短第二个显示的持续时间以补偿延迟并保持所有后续显示按时出现?E-Prime 的计时模式功能允许用户确定如何处理此类计时延迟。我们在下面详细讨论每种模式,但一般来说,事件模式用于大多数不与额外计算机通信的离散试验范式。累积模式通常用于 fMRI 研究和其他需要将 E-Prime 与扫描仪同步的研究。
事件模式(Event Mode)
在事件模式下,事件开始时的延迟不会影响该事件的指定持续时间。这会导致所有后续事件的开始时间因误差而延迟,并且计时延迟在事件之间累积。继续我们的示例,如果在第二个刺激之前有 20 毫秒的计时误差,在第四个事件之前有 30 毫秒的延迟,那么所有四个事件的持续时间都将是 100 毫秒,但相对开始时间将在 0、120、220、350 和 450 毫秒。
注意:第二个显示的延迟既延长了第一个显示的有效持续时间(从 100 毫秒到 120 毫秒),也改变了第二个显示的开始时间。
此外,五个”100 毫秒显示”中的最后一个显示实际上在第一个显示之后 450 毫秒处出现,而不是预期的 400 毫秒,这是由于累积的计时误差。这些效果如图 1 的上半部分所示(事件模式)。

累积模式(Cumulative Mode)
在累积模式下,事件开始时的延迟会导致该事件持续时间等量减少,从而使累积计时误差最小化。对于我们的示例,第二个事件之前 20 毫秒的延迟将导致第二个事件的持续时间缩短 20 毫秒。因此,对于累积模式计时,第二个和第四个事件之前 20 毫秒和 30 毫秒的延迟导致开始时间分别为 0、120、200、330 和 400 毫秒。
注意:第二个显示的延迟不会改变第三个显示的开始时间,而是改变了第二个显示的持续时间。
即使有两次延迟,第五个显示也在第一个事件之后预期的开始时间 400 毫秒处出现。这些效果如图 1 的下半部分所示(累积模式)。但请注意,在累积模式下,第一个对象按事件模式执行,然后所有后续对象以累积模式运行。
在实验中可能会出现几种情况,这些情况可能暂时削弱或限制累积计时模式的效果。首先,如果出现意外的计时误差或延迟足够长(或者等效地,如果刺激呈现的持续时间足够短),则在当前刺激呈现期间可能没有足够的时间来完全”吸收”误差。
如果发生这种情况,任意数量的后续呈现可能同样会缩短其持续时间,直到所有累积误差都被计算在内。例如,一个指定持续时间为 14 毫秒的刺激呈现事件不可能将其持续时间缩短到足以补偿 20 毫秒的延迟。在这种情况下,当前刺激将尽可能缩短其持续时间,然后后续刺激将尝试照做,直到所有计时误差被吸收,呈现序列最终与预期的刺激开始时间重新同步。
其次,如果刺激被被试的反应终止(例如,其输入掩码之一的结束动作属性设置为终止),则计时序列中也可能出现中断。当这种情况发生时,E-Prime 假设用户希望下一个刺激在当前事件终止后尽快出现;否则,结束动作属性将被设置为(无)。
E-Prime 通过指示下一个刺激对象将其开始时间设置为响应时间而不是最初预期的开始时间来处理这种情况。请注意,这与暂时切换到事件模式计时用于当前对象然后恢复累积计时序列具有相同的效果。出于这个原因,刺激呈现不应被响应事件终止(例如,如果输入掩码的结束动作设置为”(无)”,则响应将被接受、评分并按预期记录,但刺激序列不会被响应收集所中断)。
事件模式和累积模式研究用于两种不同类别的范式。如果目标是呈现单个刺激,或呈现短序列的刺激(例如,注视点、探测、掩蔽),其中刺激间间隔可能变化,那么您应该使用事件模式。如果目标是保持恒定的呈现速率(例如,记忆任务每 2 秒呈现一次刺激而不产生累积误差或漂移),那么您应该使用累积模式。E-Prime 中所有对象的默认计时模式为事件模式。在同一实验中使用事件模式和累积模式时,重要的是通过运行实验并检查数据来确保计时按预期工作。
操作系统解决方案
请运行 MSCONFIG 以识别数据采集计算机上运行的进程,并确定这些进程是否可以关闭。
请在收集数据之前断开网络连接。
请运行 产品服务和支持网站 上提供的实验,以检查数据采集计算机的计时准确性。
请为您的实验设计选择适当的计时模式(事件模式、累积模式、自定义模式)。
请在实验开始时包含一组练习试验,以允许操作系统从磁盘获取刺激文件并将其放入缓存。
![]()