Problem in timing accuracy in stimuli presentation


I built a simple experiment that presents blocks of 10 images, each image for 0.8 seconds with a 0.1 second interval between them. Therefor, each trial should take exactly 0.9 seconds. Timing accuracy in this experiment is crucial because is has to synchronize with an fMRI machine.
Here is the trial and the experiment sequence:

Unfortunately, I keep getting these little timing shifts throughout the experiment. Each trial should be 0.9 seconds but it never is, as you can see in this output:

My Psychopy version is 2022.1.4. standard standalone. I’m running the experiment on a macOS version 15.5.1 with an Apple M1 Pro chip, but I did try to run it on an older Mac and on a PC with windows 10 and the problems remains.

Appreciate your assistance,

Hi @Yael, I don’t think I can help you with that but for others who may be able to, it might be helpful to know how “TRIAL DURATION” was computed.

Hi @ajus ,Since a trial is an interval (0.1 sec)+stimuli presentation (0.8 sec), I computed the TRIAL DURATION as the difference between the time each interval.started (for example, AO4=AG5-AG4).

Hello Yael

well, your visual stimulus presentation times will always be a multiple of the refresh rate. So, on there can’t be a 100 ms interval on a computer running with a refresh rate of 60 Hz. In addition, when using a simple keyboard as response device, you should keep in mind that it is not scanned on a millisecond basis. If you are not interested in RT or your effect is large, you don’t need to care about that.

In an fMRI-experiment it is better to wait for the sync-pulse from the scanner than to adjust the trial duration to the scanner.

Best wishes Jens

Hi Jens,
I’m not interested in RT so that’s not a problem.
You’re right that waiting for the sync-pulse is a better idea. I thought i only need to do it at the beginning of the experiment, but maybe it’s smarter to do it in every block.
Thanks for your help,