[open] Specifying Stimulus Duration at 60Hz vs 75Hz
Hello,
I've noticed a strange timing issue when running experiments at 75Hz. In my experiment I want to present a prime for 50ms. At 60Hz I can specify an event duration that is half a refresh less then my target duration and get the duration I want (this accounts for the refresh sync). So specifying a duration of 42ms will result in a display time of ~50ms.
However, this trick doesn't seem to work at 75Hz and I can't figure out why. If I specify a duration of a little less than a full refresh it overshoots by ~3.2 ms. So I'd get durations of ~53.2ms. Reducing the duration further will eventually get me a duration of ~47ms but I can never get it closer to 50 (it's either ~47 or 53).
Can anyone explain this to me?
I'm using the PsychoPy backend with OpenSesame 2.9.1
Comments
Hi Eliza,
Your trick doesn't work in the way you expect it to (at least I think so). The problem is, that you can't change the rate of monitor refreshes, the only thing you can do, is bringing the presentation duration close to one of the multiples of the time required for one refresh. The only thing your method makes sure is that if a refresh occurs briefly before the wished time (i.e. 50ms), the stimulus is not left on screen for another refresh, which would overshoot greatly.
Consider this:
60 Hz:
1 refresh = 16.7 ms
closest refresh to 50: ~50.1ms (3* 16.7)
75 Hz:
1 refresh = 13.3 ms
closest refresh to 50ms: ~53 ms (4* 13.3)
So basically, you were lucky on the first one, because the multiple of one refresh is by accident very close to 50. However, for 75 Hz you can't get closer than these 3 ms deviation.
Does this make sense?
Eduard
Btw, I don't really know how you can end up at 47 ms, and what you mean with 'reducing the duration further'.