Another skipping refresh cycle problem

Hi Chris,

We are having some timing issues, and hope you can help us, cause timing is important in our task.

When we are running our experiment, we see plenty of these warnings:
WARNING: Skipped 1 display refresh cycles
We have a client-server connection, both High Sierra 10.13 and MWorks 0.9

Hello,

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.

Cheers,
Chris Stawarz

Hi Chris,
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.

Best regards,
Karla

Hi Karla,

Thanks for the additional info. Some thoughts:

  • 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.

Cheers,
Chris

Hi Chris,

Thank you for your reply.
I think it’s fine if we only use 2 displays, also I will take a look at the other points you mentioned, and I let you know how it went.

Best regards,
Karla

Hi Chris,

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.

Best regards,
Karla

Hi Karla,

What are the refresh rates of the two displays? If they aren’t the same, or they’re higher than 60Hz, that could be the issue.

If you want to send me your experiment, I can take a look and see if there are other reasons you might be having issues.

FYI, I’m on vacation starting today through the end of the month. I can follow up on this in January.

Cheers,
Chris

Hi Chris,
I hope your week started well.

About the refresh rate, it’s 60 Hz for both monitors.

Thanks for looking at our experiment. Should I attach the files here or send them to your e-mail?

Best regards,
Karla

Hi Karla,

Thanks for looking at our experiment. Should I attach the files here or send them to your e-mail?

Either way is fine.

Thanks,
Chris

Hi Chris,

I sent you an e-mail but also attach here the program.

Thank you so much for your help.
Best regards,
Karla

Attachment: rdt_2.zip (10.5 KB)