Timing with multiple screens

Hi, I have a bug that’s a little hard to reproduce.

I’m running auditory and visual experiments with EEG connected to a netstation 300 amplifier. I’m using the below package to send my event markers to the EEG system. We’re using windows 10.

For those of you that don’t use EGI systems, the way this works is that event markers are sent over the network connection with a 4 character alphanumeric code and the time of the event. So the integrity of timing system relies on the stimulus presentation computer and the netstation EEG recording computer keeping track of their own clocks and calculating the offset between them.

To add to the complexity, we have a multiple screen setup where the participant sees the stimulus and the experiment operator sees the terminal with information like “trial 4 of 300”

here are the issues.
1- if the terminal has window focus, then the timing reported for screen flips that is sent to the EEG system has about 2 frames (40ms) of variability. My guess is that this is because psychopy is reporting the time of the experimenter screen refreshes and not the participant screen.

2- This error happens even with auditory stimuli.

Here’s what I’m thinking but I could use some help with. does psychopy tie the start of any of it’s clocks to the screen that has focus and does it adjust them if focus changes?

I realize there are a lot of questions here but i’m not 100% sure where the error is coming from so any ideas would be great and helpful.