Text components rapid presentation timing errors

OS: Win10
PsychoPy version: 2024.2.4

Hello!
We present text stimuli rapidly for 83 ms (5 frames for 60 Hz monitor). Distractor texts are presented in the loop and taken from distractors.xlsx, and the first word is always presented somehow shorter, for ~58-65 ms. Single target words T1 are taken from wordPairs.xlsx and always presented longer, for 11-14 ms instead of 83 ms. Real duration of the stimuli is shown in the second image of the output file.

I made a simplified version of the experiment you can see in the picture, to change all possible parameters, but nothing helps. I tried to change files content, extensions, PsychoPy version (in this tread problem was solved by using PsychoPy 2020.2).

Could anyone help me, please?

T1.zip (153.0 KB)

I notice that the version you uploaded was set to run in 2022.1.2

Here are some data files running in 2024.2.4. One using your code, one setting start times to frame 1 instead of 0 seconds and one with a blank text component set to start at frame 1 with a duration of 1 frame before each of your routines.

There seems to be an overhead for starting a loop so one option for you would be to present your rows using a randomised list which places T1 items at the correct intervals. I use a similar method in my Complex Randomisation online demo PsychoPy Online Demos

1 frame blank_T1_2024-11-05_13h24.38.533.csv (16.1 KB)
2024.2.4_T1_2024-11-05_13h13.09.592.csv (13.5 KB)
by frame_T1_2024-11-05_13h18.54.459.csv (13.5 KB)
024033_T1_2024-11-05_13h11.12.637.csv (9.6 KB)

Thank you very much for your answer!

As far as I could notice, your manupilations also resulted in T1 lasting 12-14 ms.
In the original version of the experiment I also use a randomised list with a “sequential” Loop type to present rows, here I used “random” to make things simpler.

Unfortunately, the implementation of initially set row indexes didn’t help either and again resulted in delays in T1 text… :frowning: Maybe you meant something else?



What I’m proposing is a single trials loop rather than concentric loops so there is only one loop start.

Thank you for your brilliant idea! I kept the distractor loops, but didn’t use the condition file for them. Instead, I preloaded the file and took the rows directly from the dataframe, which helped me to have nice latencies.

1 Like