We have recently developed a visuomotor task (DSP task) in our lab. The task consist in the presentation of sequences on the screen made by 10 displays. Each display is made by 5 squares (4 with black edges and 1 with a red edge indicating the keyboard touch to press). The transition between consecutive displays takes place immediately after the keyboard touch is pressed. Participants need to execute as fast as possible correct sequences. The squares are shapes drawn from psychopy builder, no image is loaded.
We have first developed the laboratory version of this task (executed on a lab PC with Win10) from builder + inline codes (which I will call here: “Task”), and then created the corresponding online experiment (which I will call here: “Task WEB”). Over 6 weeks, participants perform 30 home-based sessions of the “Task WEB” which they execute on their own laptop by accessing the URL of the experiment. Every 2 weeks , they also come to the lab and they perform on the lab PC (win10) one additional session of the “Task” (for a total of 4 laboratory sessions: n°1 before training, n°2 after 2 weeks, n°3 after 4 weeks and n°4 after 6 weeks - at the end of the training). As previously said, this task is run locally from the psychopy app (not from the URL link). During these laboratory sessions we record electrophysiological measures. Participants use the same keyboard during home and laboratory sessions.
The web task is working very well and we are really happy about the performance so far. This is a great tool to follow the progress of the participants without accessing to their own laptop. However, we recently observed something that we cannot really understand completely and very tricky to debug. The 3rd and the 4th laboratory-based sessions occur after 20 and 30 home-based training sessions: participants are therefore very trained and are supposed to be very very fast in executing the sequences during these laboratory sessions. However, they find it difficult to maintain the same performance they had with the “Task WEB”. The feeling is shared across participants: that is, they declare that the transitions between displays seems slower in the laboratory “Task” compared to the “Task WEB”, and this makes them committing more errors and being slower than usual.
This is really difficult for us to debug because only a well trained person on the task can sensibly feel if any change made on the code will bring some effects when the task is executed.
We thought that this difference in timing might be related to the way the browser (“Task WEB”) and python (“Task”) are accessing the graphic card (browser performs a sort of “acceleration” of the task by best using the graphic card resources)? Would that be possible?
Do you have any other possible explanations for this behavior?
Many many thanks for you support, and looking forward to any possible suggestion.