Regarding ‘knowing’ precisely the time of stimulus onset, at least one other forum posting refers to the .tStart attribute of your component of interest as providing this information.
I’ve had a quick look at the code and it seems that .tStart is actually up to one framerate before the actual onset, so on a 60Hz monitor up to ~16.7ms before actual onset.
I’ve taken a quick look at the value of win.lastFrameT and for me this is typically ~7us (ie tiny) indicating that actual stimulus onset (ignoring hardware lag in the video card and the monitor itself) is typically close to one frame rate after the value of the .tStart.
Have I go t this about right?
Are there any other quantifiable psychopy related aspects I should consider if I want to get as accurate value for stim onset as possible? (I need this for purposes other than getting a precise keyboard reaction time)
Also, do keyboard/mouse reaction times go from the time of the actual screen onset or do they relate to .tStart and are therefore possibly all ~one frame rate longer than the actual time (ignoring usb delays)