Grating stimuli don't appear when running online (through Pavlovia)

I am piloting a small example using Builder - Display of a grating (sinusoidal) for 6 seconds and a text appearing for 3 seconds on top of the grating.
URL of my experiment:

The problem is that the experiment works fine locally, but not online: No grating is displayed. The text does appear for 3 seconds and then experiment ends with thanking message.
No error messages appear in the browser.

The version of PsychoPy I am using is v2020.1.3.

Could you please assist me with that? What may be the cause of such behaviour?

Thank you!


Gratings are one of the features yet to be implemented for online studies:

What a shame! Thanks for the prompt response!

oh no! was just about to ask about gratings… is there a time-line (eta) on the gratings implementation by any chance? (smart workaround ideas?)

Well, we weren’t really considering this a priority because the sort of study that uses gratings also usually needs a calibrated screen (linear gamma) so that the sinusoid is actually a sinusoid with balaanced mean luminance. When a study runs online the screen obviously won’t be calibrated so the gratings won’t be at mean luminance anymore. It isn’t clear tha gratings are that useful in that case?

Just wanted to weigh in here - would it be possible to use the psychophysical gamma adjustment demos to get a near approximation? It wouldn’t be perfect (it sets the steepness of the gamma ramp, I think?).

I was thinking of coding something up that presented a quick staircase for the gamma calibration, applied that ramp, then presents the experimental gratings. Not sure what you would do about defining the actual mean luminance value though. I suppose you could ask participants to set the monitor back-light to full, and can at least be sure that it’ll be photopic!

Yes, I think that’s ultimately a way to go but there’s another problem to solve along the way of how to set the gamma ramp. We can’t set it in the usual way (using the hardware color lookup table on the graphics) because JS/browser won’t have access to that table. I think we’ll need to do it using something like a shader. Shaders are possible on a browser that supports WebGL but we haven’t yet implemented such a thing.

I’d like to have grating stimuli too, to create double-drift / curveball illusions, where the luminance (contrast) is not that important. DVA might be nice (“virtual chinrest”) but conditions can be compared within-subject.

Is there a work-around for now?