Handling windowed GSync properly when multiple windows are drawn from the same thread

I’ll try to summarize the situation:

  • Single-threaded application
  • Owns multiple windows, has a IDXGISwapChain for each
  • Every frame it draws to each window and calls Present() in a row
  • GSync is enabled for windowed mode and for the application

Now this is the current result:

The framerate of the application is locked to (desktop refresh rate)/(#windows) as GSync will block on every Present() call!

Am I missing an obvious way to only use GSync for the last window that is drawn?
Is this a solvable problem at all?


Well. It appears this forum is dead.

That’s really unfortunate, as there seems to be ZERO documentation on g-sync around…