Jump to content

View more

Image of the Day

#ld38 #screenshotsaturday Mimosa Fizz action gif #2 https://t.co/TUzdppvfUL
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

Adaptive V-Sync

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
1 reply to this topic

#1 WeirdCat   Members   

134
Like
0Likes
Like

Posted 15 May 2012 - 11:35 AM

Anyone know how to enable adaptive v-sync in my own D3D11 app/game?

At the moment I'm doing something like this:
[source lang="cpp"]...if (currentFPS >= MAX_FPS) { swapChain->Present(1, 0); // do vertical sync} else { swapChain->Present(0, 0); // present immediately}...[/source]
...but I think this is not exactly the same.

As long as I've searched now for a solution to this problem, I'm starting to suspect that one can only activate this feature in the control panel. But then again Rage can apparently enable it directly (although it's called 'smart v-sync' there).

#2 MJP   Moderators   

19483
Like
1Likes
Like

Posted 15 May 2012 - 11:50 AM

RAGE can do it because Nvidia specifically added it to the driver for them...the driver probably just detects that the game you're playing is in fact RAGE, and then turns it on (they do stuff like this all of the time).

Unfortunately D3D11 doesn't really provide you with the low-level control and timing information that you need to pull off a soft VSYNC. Presenting and syncing is actually pretty complicated, since the CPU and GPU are working asynchronously. DXGI does provide you with some timing information via IDXGISwapChain::GetFrameStatistics (which is only available in fullscreen mode, btw), but I haven't had much success in using that to implement a soft VSYNC.




Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.