When we are running our experiment, we see plenty of these warnings: WARNING: Skipped 1 display refresh cycles
This warning means that the graphics processing unit (GPU) in the Mac running MWServer is sometimes failing to update the contents of the stimulus display at the same rate that the display itself refreshes (e.g. 60Hz). There are many reasons why this could be happening. Here are some possibilities:
The GPU simply doesn't have enough processing power to update all connected displays at their full refresh rates. This is most likely to happen on lower-end Mac's with integrated, Intel GPU's.
The set of stimuli that your experiment is displaying is sufficiently complex that the GPU can't consistently render it at the refresh rate of the display.
One or more other processes running on the same Mac are using a significant amount of GPU time, and between them and MWorks, the GPU can't keep up.
The Mac in question has more than one display attached, and the refresh rates of the displays don't match. For example, one display runs at 60Hz, while another runs at 75Hz.
Something has gone wrong internally in the graphics drivers. If rebooting the Mac eliminates the skipped refresh warnings, then this may have been the issue.
If you can tell me more about your Mac (model and year, graphics processor, number of displays attached) and your experiment (type and number of stimuli you're displaying), then we may be able to narrow the list down to the most likely causes.
About the Mac:
1.- The server has the next specifications
MacOS High Sierra Version 10.13.6 Mac Pro (Late 2013) Processor 3 GHz 8-core Intel Xeon E5 Memory 16 GB 1866 MHz DDR3 Graphics AMD FirePro D700 6144 MB
2.- About the client
MacOS High Sierra Version 10.13.6 Mac mini (Late 2014) Processor 1.4 GHz intel core i5 Memory 4 GB 1600 MHz DDR3 Graphics intel HD Graphics 5000 1536MB
We have 3 displays attached.
About our experiment:
The stimuli consist of a tone and a circle with white noise that appears and disappears depending on the type of trial mentioned later. The duration of the stimuli is 50 ms and can appear from 3 to 40 times in a trial.
We present mainly 2 types of trials; the first type we call ‘regular’ cause the time between the presentation of the stimuli is always the same. The second type we call it ‘irregular’, cause the time between stimuli can vary.
3 displays is a lot, even for a Mac Pro. If you can cut that down to just 2, graphics performance will almost certainly improve.
With the 2013 Mac Pro, how you connect the displays can affect performance. See this support article for details. In particular, you should make sure that each display is connected to a different Thunderbolt bus.
Also, for the white noise, are you using MWorks' white noise background stimulus? If so, this could be part of the problem, as that stimulus is fairly expensive in terms of GPU time. Depending on the details of your experiment, we might be able to mitigate some of that expense.
Hope you're doing well.
We cut down to 2 displays only and also verify that each display was connected to a different Thunderbolt bus, but we have those warnings.
About the white noise background, we ran the first stage of our task and we still have the warnings.
The events of a trial are:
Put hands in a kind of handle A circle target appears on the screen Another circle appears at the periphery and it needs to be reached
Also, we have the next warning:
WARNING: Scheduled task (/Users/cstawarz/Documents/mworks_buildbot/worker/build_for_macos/build/plugins/core/NIDAQ/NIDAQPlugin/NIDAQDevice.cpp:376) falling behind, dropping 10 scheduled executions (priority = 2, interval = 3000, task =0x60000017ca60)
That warning appears when the hands are in the handles. Hope you can help us.