Question about AA and Nvidia settings

General discussion about Train Simulator, your thoughts, questions, news and views!

Moderator: Moderators

User avatar
peterfhayes
Very Active Forum Member
Posts: 2155
Joined: Mon Sep 26, 2011 5:07 am

Re: Question about AA and Nvidia settings

Post by peterfhayes »

Gary
I need the reference to 1/3 and 1/4 as all my information is that once the frame rate falls below the refresh rate then the frame rate is halved so if you are getting 44 fps constantly vsync will drop that to 22 fps and so on. I have never heard of this 1/3 and 1/4 change - sorry.
There is however a more fundamental problem with enabling VSync, and that is it can significantly reduce your overall framerate, often dropping your FPS to exactly 50% of the refresh rate. This is a difficult concept to explain, but it just has to do with timing. When VSync is enabled, your graphics card becomes a slave to your monitor. If at any time your FPS falls just below your refresh rate, each frame starts taking your graphics card longer to draw than the time it takes for your monitor to refresh itself. So every 2nd refresh, your graphics card just misses completing a new whole frame in time. This means that both its primary and secondary frame buffers are filled, it has nowhere to put any new information, so it has to sit idle and wait for the next refresh to come around before it can unload its recently completed frame, and start work on a new one in the newly cleared secondary buffer. This results in exactly half the framerate of the refresh rate whenever your FPS falls below the refresh rate.
http://www.tweakguides.com/Graphics_9.html
That's all well and good, but now let's look at a different example. Let's say you're playing the sequel to your favorite game, which has better graphics. You're at 75Hz refresh rate still, but now you're only getting 50FPS, 33% slower than the refresh rate. That means every time the monitor updates the screen, the video card draws 2/3 of the next frame. So lets track how this works. The monitor just refreshed, and frame 1 is copied into the frame buffer. 2/3 of frame 2 gets drawn in the back buffer, and the monitor refreshes again. It grabs frame 1 from the frame buffer for the first time. Now the video card finishes the last third of frame 2, but it has to wait, because it can't update until right after a refresh. The monitor refreshes, grabbing frame 1 the second time, and frame 2 is put in the frame buffer. The video card draws 2/3 of frame 3 in the back buffer, and a refresh happens, grabbing frame 2 for the first time. The last third of frame 3 is draw, and again we must wait for the refresh, and when it happens, frame 2 is grabbed for the second time, and frame 3 is copied in. We went through 4 refresh cycles but only 2 frames were drawn. At a refresh rate of 75Hz, that means we'll see 37.5FPS. That's noticeably less than 50FPS which the video card is capable of. This happens because the video card is forced to waste time after finishing a frame in the back buffer as it can't copy it out and it has nowhere else to draw frames.

Essentially this means that with double-buffered VSync, the framerate can only be equal to a discrete set of values equal to Refresh / N where N is some positive integer. That means if you're talking about 60Hz refresh rate, the only framerates you can get are 60, 30, 20, 15, 12, 10, etc etc. You can see the big gap between 60 and 30 there. Any framerate between 60 and 30 your video card would normally put out would get dropped to 30.
http://hardforum.com/showthread.php?t=928593

With triple buffering the frame rate should NOT drop significantly- that's how it works but its advisable if you can to set the frame rates to the same figure as the refresh rate ie 60fps for most standard LCD/LED monitors.
However it appears that most recent graphics cards and most new games will not experience major problems by enabling Triple Buffering. Given the fact that it can help to both remove tearing while also preventing the significant FPS drop encountered when VSync is enabled, it is at least worth trying for yourself to see the results on your system.
same ref as above
and
So you get the potential benefits of vsync (no tearing and synchronization) without the additional decrease in performance that occurs when no work gets done on the GPU. http://www.anandtech.com/show/2803/5
Adaptive vsync
Nvidia graphics card owners running the latest drivers can find an Adaptive Vertical Synchronization option under the 'Vertical Sync' setting in the Nvidia Control Panel. When Adaptive is chosen, VSync will only be enabled whenever your FPS exceeds your Refresh Rate. If your FPS falls below your refresh rate at any time, VSync is instantly disabled. This provides an excellent compromise between performance and removing most tearing. However it can still introduce some mouse lag.
same ref as above.

Having said all of this I still find that using the Borderless option in TS2015 eliminates the need for vsync and also the microstutter you can get with vsync applied.
IMO adaptive vsync set at half the refresh rate is excellent for NVidia cards using full screen in TS 2015.
Regards
pH
gptech
Very Active Forum Member
Posts: 19585
Joined: Fri Oct 10, 2008 5:48 pm
Location: Wakefield, West Yorkshire

Re: Question about AA and Nvidia settings

Post by gptech »

peterfhayes wrote:I need the reference to 1/3 and 1/4
You've supplied it yourself Peter:
peterfhayes wrote:Essentially this means that with double-buffered VSync, the framerate can only be equal to a discrete set of values equal to Refresh / N where N is some positive integer. That means if you're talking about 60Hz refresh rate, the only framerates you can get are 60, 30, 20, 15, 12, 10,
http://hardforum.com/showthread.php?t=928593
and from the same hardforum article
There is a technique called triple-buffering that solves this VSync problem. Lets go back to our 50FPS, 75Hz example. Frame 1 is in the frame buffer, and 2/3 of frame 2 are drawn in the back buffer. The refresh happens and frame 1 is grabbed for the first time. The last third of frame 2 are drawn in the back buffer, and the first third of frame 3 is drawn in the second back buffer (hence the term triple-buffering). The refresh happens, frame 1 is grabbed for the second time, and frame 2 is copied into the frame buffer and the first part of frame 3 into the back buffer. The last 2/3 of frame 3 are drawn in the back buffer, the refresh happens, frame 2 is grabbed for the first time, and frame 3 is copied to the frame buffer. The process starts over. This time we still got 2 frames, but in only 3 refresh cycles. That's 2/3 of the refresh rate, which is 50FPS
peterfhayes wrote:also preventing the significant FPS drop encountered
The important word is significant, there'll still be a drop in frame rates but not as large as the drop(s) experienced in *standard* double buffering; working on the figures given in that article the quoted 50fps with Triple buffering enables is the figure the card/PC will produce without any vsync applied. Double buffering drops that immediately to 37 but the triple buffering leaves it at 50 because that's what both it and the setup will produce. If the machine was only hitting 40fps before any vsync applied then triple buffering won't increase that.
Remember vsync isn't there to adjust frame rates, but as a means to reduce/eliminate tearing caused by the monitor refreshing 'between frames' and any impact on frame rates is a result of that 'smoothing' technique.
BipolarExpress
Getting the hang of things now
Posts: 78
Joined: Mon Mar 24, 2014 7:43 pm

Re: Question about AA and Nvidia settings

Post by BipolarExpress »

Hi ightenhill. Tried to PM you (now I've been enabled :-) ) but it says you've disabled PM receipt. If you want to discuss 'fxaaoff' please get in touch.

All the best,


Steve
User avatar
peterfhayes
Very Active Forum Member
Posts: 2155
Joined: Mon Sep 26, 2011 5:07 am

Re: Question about AA and Nvidia settings

Post by peterfhayes »

Gary
Thanks seems like we are on the same page - sort of! :D
pH
User avatar
ightenhill
Very Active Forum Member
Posts: 1938
Joined: Wed Aug 27, 2008 3:48 pm
Location: Back home in London

Re: Question about AA and Nvidia settings

Post by ightenhill »

BipolarExpress wrote:Hi ightenhill. Tried to PM you (now I've been enabled :-) ) but it says you've disabled PM receipt. If you want to discuss 'fxaaoff' please get in touch.

All the best,


Steve
Think I have sorted it..
Image
lenfish
Well Established Forum Member
Posts: 944
Joined: Tue Dec 04, 2001 12:00 am
Location: Leeds

Re: Question about AA and Nvidia settings

Post by lenfish »

There seems to be some debate/confusion as to whether or not triple buffering works with direct x games. Some say it works only with open GL games, others that it is applied automatically if v sync is enabled.

Regards,

Len
User avatar
Wikkus
Very Active Forum Member
Posts: 3480
Joined: Tue Dec 04, 2001 12:00 am
Location: Malta

Re: Question about AA and Nvidia settings

Post by Wikkus »

ightenhill wrote:2 - I seem to have a sort of soft look to the image - its as if theirs a slight lack of focus or Im looking through a pair of silk stockings filter .
Wotcher, geezer :)

Isn't this "blurry" effect due to the "Adaptive Bloom"?

Cheers, Rik.
User avatar
ightenhill
Very Active Forum Member
Posts: 1938
Joined: Wed Aug 27, 2008 3:48 pm
Location: Back home in London

Re: Question about AA and Nvidia settings

Post by ightenhill »

Wikkus wrote:
ightenhill wrote:2 - I seem to have a sort of soft look to the image - its as if theirs a slight lack of focus or Im looking through a pair of silk stockings filter .
Wotcher, geezer :)

Isn't this "blurry" effect due to the "Adaptive Bloom"?

Cheers, Rik.
Surely its not that simple (runs off to check)
Image
User avatar
peterfhayes
Very Active Forum Member
Posts: 2155
Joined: Mon Sep 26, 2011 5:07 am

Re: Question about AA and Nvidia settings

Post by peterfhayes »

Len
You could well be correct there is a lot of argument as to whether Triple Buffering works or not in Direct X games.
We may be better without it as it is quite a resource hog wrt VRAM,
I have tried the pre-rendered frames setting from 0 to 8 instead of triple buffering but could not see any vast improvement.
ADAPTIVE vsync seems to work OK in TS2015 and that takes triple buffering and pre-rendered frames out of the equation.
pH
User avatar
ightenhill
Very Active Forum Member
Posts: 1938
Joined: Wed Aug 27, 2008 3:48 pm
Location: Back home in London

Re: Question about AA and Nvidia settings

Post by ightenhill »

I have to admit the whole triple/dbl buffering is to technical for my head.. All I know is if I turn it off I dont lock at 30 anymore when I drop below 60..

Re turning off bloom.. I can see why that appears to give sharpness to models but this issue is a general all over thing (especially on distant gantry wires which bloom doesnt seem to touch) not just where light is hitting which is how the bloom seems to (correctly) work
Image
gptech
Very Active Forum Member
Posts: 19585
Joined: Fri Oct 10, 2008 5:48 pm
Location: Wakefield, West Yorkshire

Re: Question about AA and Nvidia settings

Post by gptech »

The next question of course is, why do you need 60fps?
User avatar
ightenhill
Very Active Forum Member
Posts: 1938
Joined: Wed Aug 27, 2008 3:48 pm
Location: Back home in London

Re: Question about AA and Nvidia settings

Post by ightenhill »

gptech wrote:The next question of course is, why do you need 60fps?
Not sure anyone ever said you did :wink: The issue was why was it dropping from above 60 to a locked 30 (that sort of drop can be momentarily noticed as a bit of mouse and camera lag) and I think we have solved it - or at least worked out what to untick in the control panel (though why is a bit over my head)
Image
gptech
Very Active Forum Member
Posts: 19585
Joined: Fri Oct 10, 2008 5:48 pm
Location: Wakefield, West Yorkshire

Re: Question about AA and Nvidia settings

Post by gptech »

ightenhill wrote: The issue was why was it dropping from above 60 to a locked 30 (that sort of drop can be momentarily noticed as a bit of mouse and camera lag)
So basically locking the fops at 30 to start with would have *cured* the problem.
You could either use the command line option in the Steam client or in the shortcut you may have for TS2015, or just use the 'Adaptive (half refresh rate)' option in the nVidia control panel
Locked

Return to “[TS] General Discussion”