Programmatically setting refresh rate when Mosaic/Surround active


I’ve an issue when I’m applying refresh rate changes to a Mosaic/Surround screen. I’ the author of DisplayMagician, and we have a problem when trying to programmatically set the refresh rate of a Mosaic/Surround screen.

The way my application works is that it turns on the Mosaic screen using NVAPI, and then it uses Windows CCD API to setup the display layout and do things like set the refresh rates. My questions are thus:

  • Does setting the refresh rates using Windows affect the refresh rates of the Mosaic screen, or do I need to also set a refresh rate override using NvAPI_SetRefreshRateOverride for it to be set? In other words after I apply the Windows CCD API changes, do I also need to run NvAPI_SetRefreshRateOverride if the screen is a Mosaic one?
  • What do I need to do if I’m turning off Mosaic mode? Do I need to cancel the refresh rate override by setting it to 0.0 before I turn off Mosaic mode? Or can I simply change to a different mode and it’s all fine?