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?

In case anyone else is having the same issue, it turns out that loading high resolution images on each trial was giving us the lag. We sized down the image and made them .jpg (as opposed to .png) to solve the issue.