Online Frame Issues & Variability

Hi, I’m trying to run an experiment online and am running into frame timing issues. Specifically, there are several stimuli (a combination of images and fixation crosses) that need to appear on screen for precise and small intervals of time <500ms. When I run the experiment locally, the timing is all as intended. When run online, however, a few issues crop-up. For instance, in most cases, the stimuli don’t seem to be appearing at all. I’d think that there was an issue with the build that prevents them from appearing, but this phenomena is inconsistent: a particular stimulus might not appear for several trials but then would for a fourth, and for a what seems to be a range of durations. I suspect, therefore, that there’s something about the online experiment that isn’t playing well with frame rates, refresh rates, or something of that sort. Any help is appreciated.

Link to experiment: Occlusion_Psychophysics [PsychoPy]

Hi @bmidler,

What version of PsychoPy are you using? I haven’t designed online experiments with such precise timing yet, but maybe it is an issue downloading the resources since it is online-only.

If you are using 2022.1.0+, the developers have added multiple options for loading resources into online studies. If you are downloading the files at each trial, I wonder if the image download is occurring too slowly, so the images display late, or not at all for the first trial(s).

Hi, I’m using 2022.1.2, and am aware of the resource management tools that have been recently added. Specifically, I’m using the static component to load the images for each trial during a fixation interval before the trial (as there are too many images to efficiently load up-front). My intuition, that there isn’t enough time to download the images, matches yours. The timing of the interval is pretty important, though. Are there any workaround?

I think the simplest solution would be to extend the duration of the fixation interval so that there is enough time to download the trial’s resources. At least this would allow you to determine how long the static component needs to be for the images to appear properly.

Another idea would be to use multiple static components (e.g. 1st component during your 500ms fixation interval, 2nd component during your 500ms first image presentation). It looks like you are using four images per trial, so the first interval could preload the first two images and the second interval could preload the final two images. However, I would test this carefully to make sure the timing of your image presentation is not altered by the preloading process.

I prefer the first option because it is the least likely to impact the images presented in the trial.