Mac timing


I have two questions concerning timing:

  1. I have the Mac version of SuperLab 4 (paid for). I have experienced some problems with timers. On one occasion my screen event completed instantenously. Switching the computer off and re-starting corrected this problem. This is worrying since the problem would be difficult to identify when my participants are doing the experiment. I have a MacBook (Model Number A1181) and the input device I seleccted in the ‘Partaicipant Input’ oprion is the ‘Mouse or Touch Screen’. Should I re-boot before each participant?

  2. How do you advise I should get the best possible time resolution measuring response times? And what is the time resolution of this software running on a Mac?


  1. You had to reboot to fix a problem? In the worst case, you should only have to restart SuperLab. Obviously, you shouldn’t have to restart SuperLab at all. Which version are you running? SuperLab 4.0.5 is the latest version. One of the more recent updates (4.0.3) offered a potential fix to an issue similar to what you have described (see the second from last item here).

  2. On the Mac, SuperLab queries the operating system to find the time the event occurred (this applies to keyboard and mouse events). Through experimentation, I’ve found that the Apple keyboard (on my Mac Pro) gives about 8ms precision using this method. We’ve had long discussions about this in these two threads:

My number one recommendation for you is to use an external non-Apple display. So far, all of my attempts have failed at synchronizing SuperLab with the screen’s refresh when the display is an Apple LCD. For some reason, the information just is not supplied. Every other monitor I’ve tried on various Macs has worked (including other brands of LCDs connected via DVI). Therefore, if you are using the internal Apple display on your Macbook, your response times could be off by as much as 17ms (assuming 60Hz refresh rate). On TOP of this, there’s whatever error comes from the input device itself. In summary, don’t use the Apple display.

The clock we use on the Mac has nanosecond precision. This is WAY more than necessary, but to reduce rounding errors, we use as much of that precision as possible. The data output file gives times in milliseconds. Verbose mode (which gives detailed information of what SuperLab does while running an experiment) displays times with precision of .01ms (more than that seemed like over-kill). You can read a little about verbose mode here. If I were troubleshooting your experiment mentioned in your first question, I would first use the verbose mode output to try to figure out why the event completed instantaneously.

I hope this helps.