VSync behaviour


photo

Recommended Posts

One of our clients is very keen on having a smooth framerate and we used vsync to achieve this. Ideally of course we target for a framerate of 60fps but in heavy scenarios that is not doable. In the past that resulted in falling back to 30fps, but nowadays it seems that Unigine always runs with the highest possible framerate when it's below 60fps. Is that a change made in Unigine or is it the driver that causes this different behaviour?

I noticed that Unigine added a third option to video_vsync some time ago, besides 0 (off) and 1 (on) there is now 2 (adaptive) but I don't see any difference between options 1 and 2. In the Oil Refinery Demo running at Ultra quality at night I get 51fps with both modes 1 and 2. Running on Windows 10 with a GTX 1080 Ti, NVIDIA control panel is set to 'use application setting' for vsync.

Link to post

Dear @Bemined,

VSYNC is dependent on Driver.  We can only do api calls for this.

there is another option from Unigine. 

https://developer.unigine.com/en/docs/2.13/code/console/?rlang=cpp#render_max_fps

But the notice says use VSYNC.

Again if you want the control in your hand then you can put a spin lock to match the requested fps for  your rendering thread. Probably the above unigine command doing the same.

Check three things and see which one suits best for your needs and is robust in your eco system. 

For you r requirement you can write custom stuff and check FPS and limit the things. But as said the approach would be adaptive. As you need to make decision for FPS and stabilize it every frame.

I used spin lock many times. 

Regards,

Rohit

Link to post