psychopy.org | Reference | Downloads | Github

Inaccurate display duration of brief stimuli (50ms)

OS Win10:
**Standard Standalone? y
What are you trying to achieve?:
Accurately displaying a stimulus (image) for 50ms on a 60Hz refresh rate monitor.

What did you try to make it work?:
Using builder, I set the display duration in seconds as 0.05. I also tried setting the display duration as 3 frames.

What specifically went wrong when you tried that?:
The data output shows that the average display time for stimuli across all trials is roughly 58ms with an SD of 4ms. I calculated this by subtracting “image.started” from “image.stopped”. This issue is consistent across computers as well as across monitors.

Is there a more dependable way to measure the duration of the displayed stimuli?
How can I make sure that my stimuli are displayed for 50ms with as little variance as possible?

Hello,

In order to get the most accurate display duration use frame instead of ms für duration. Three frames, as you write, are around 50 ms. It is still too long?

Best wishes Jens

Hi JensBoelte,

I tried using “frame N” as well as “duration (frames)”. From what I understand they’re almost identicle. This still gets me to an average display time of 47ms with an SD of about 4ms, which is not much better.
Do you have any further ideas? A 60Hz moitor should definitely work properly in this case, but maybe a monitor with a higher refresh rate would solve this issue?

Thanks!
Nitai

Hello,

To determine the actual refresh rate you need a photo diode and an oscilloscope. The software tells you when it got the signal from the graphics card.

Do you have an frame drops or additional frames?

Does your graphics card support a faster refresh rate than 60 Hz? If so, I would try a different monitor capable of a faster refresh rate.

Best wishes Jens

Hi JensBoelte,

Thanks for your response. I don’t necessarily have dropped \ added frames. There doesn’t seem to be a pattern for the inaccurate display of images, hence my confusion. I will try running the experiment on a 120Hz monitor.
Are there other ways to solidify display times in the builder / code?

Have a great day,
Nitai

Hello Nitai,

the best and only reliable solution is to measure the actual display durations/times of your stimuli with a photo-diode and oscilloscope. Many modern monitors, for instance, “overshoot” in order to achive fast black-white changes. The software does not know about this.

Best wishes Jens