Variable ITIs Running Longer than Specified (PsychoPy 2025.1.1, macOS)

Environment

OS: MacOS 15.7.4
PsychoPy version: 2025.1.1 (Standalone)
Do you want it to also run online?: no

Goal

I am running a memory encoding task where:

  • Each image is shown for 3 seconds
  • A variable ITI (from CSV) ranges from 1.5-4.0 seconds
  • During the ITI, background images are displayed

The ITIs are hard-coded in the conditions file, and I want the actual ITI duration to match the CSV values.

Problem

The experiment consistently runs ~1 minute longer than expected.

When I inspected the log file, I computed:

  • ITI duration: time from ITI background (Q1_enc_iti) onset to ITI background offset
  • ITI offset: (actual ITI duration - CSV ITI value)
  • Proportion offset: ITI offset / ITI duration

The offsets vary systematically across trials, and are not clean multiples of frame durations.

What I Tried

  1. Changed component stop condition from “duration (s)” to “time (s)”. This reduced total time by ~ 30 seconds, but the task is still longer than expected.
  2. Locked monitor refresh to 60 Hz.
  3. Examined timing in the log file.

Here is a screenshot of those calculations in the log file.

As a side note, we are also wondering why the routine (enc_iti) ended slightly earlier than the background images during the ITI (Q1_enc_iti).

Here is my PsychoPy Builder structure:

Could image loading be introducing these timing delays? Is there a recommended method to preload all images at the beginning of the experiment to minimize per-trial latency (e.g., as one does for online experiments)?

Thank you!

1 Like

I am also having this issue! Any headway?