We’ve decided to present pairs of text strings at a range of different SOAs using SL4 on our MacBook Pros, which are equipped with “ATI Radeon X1600” video hardware. The absolute number of milliseconds in the set of SOAs is not important, but we would like for all of them to be an integral multiple of the underlying video update/refresh rate. That is, if the screen can be changed at a rate of 12 ms, then would wouldn’t want to include 100 ms or 200 ms in the set, but 300 ms would be OK.
For example, when I set up an RSVP sequence of 10 stimuli to be presented at a 100ms rate, the log contains times that resulted in the following SOAs: 115 117 116 116 116 115 117 116 116. This is perfectly acceptable timing, in terms of how consistent it is, but note that I asked for a 100 ms SOA and I got something closer to 116 ms. When I chose 116 ms as the SOA, I got another set of numbers clustered around 132. Undershooting a little bit to 98 still gave me about 116, but undershooting to 90 gave me a nice cluster right at 100 ms: 100 99 100 99 100 99 100 99 99.
This all appears to imply several things. First, on the MacBook Pro, SL4 appears to be syncronizing to roughly a 60 Hz video refresh rate, or 16 2/3 ms. It may be a tad less than that, but 60 hz would at least be understandable. Second, even using RSVP, there is a required “setup time” for the presentation of a new video frame; for the simple one-word stimuli I was usng, this time is greater than 2 ms and less or equal to than 10 ms. Third, if you really want an SOA of X ms, then you need to make sure that X is a multiple of 16 2/3 (or whatever) and you also need to specify a time slightly ahead of the desired time, or else the setup will take too long and it will wait 16 2/3 ms to present the stimulus.
I won’t be using RSVP in the experiment I’m setting up, so I’m guessing that the setup time may be a bit longer, but that I’ll have to use a bit of trial and error to discover it.
Does this all sound roughly correct, or am I missing something?