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?


Dear @terry.macdonald

Thank you for contacting NVIDIA developer forum.
We have sent your query to the respective team for details and we will get back to you on same.

NVAPI Forum Moderator

Dear @terry.macdonald

  1. Could you please inform the NVAPI SDK flavor that you are using - Public or NDA?
  2. If Public, then could you please let us know the following details:
    a. The exact NvAPI names that you are using to enable Mosaic/Surround.
    b. The Windows API name that you are using to change the refresh rate?
  3. Regarding NvAPI_SetRefreshRateOverride, if you check the documentation, the API is supported only on Windows XP. Since our drivers do not support WinXP anymore, consider this API as deprecated.

Thank you.
NVAPI Forum Moderator.