Stop VSYNC to avoid latency OK, but how to have a smooth game ?

Discussion in 'Technical & Support' started by dadaboomda, Aug 20, 2017.

  1. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Just commenting the FXAA typically introduces blurriness into the video card's image, due to the way it is usually implemented and as a result, I tend to avoid it where ever I can. The advantage of it is it's effective and has a lower GPU utilisation than other better forms of AA. MSAA is higher quality, but comes with more of a performance hit.
    There are a lot of articles out there that will discuss the different AA technologies and explain what I'm getting at in far more detail. So it's a trade off what your GPU can handle, versus perceived image quality - which means if you want that best results, you really need to test the various options and decide what's right for you.
     
  2. LokiD

    LokiD Registered

    Joined:
    May 3, 2017
    Messages:
    1,282
    Likes Received:
    1,216
    fast is better than adaptive. sorry imo..

    i get tearing on a 144hz with adaptive. fast seems the best compromise of input lag stuttering and high fps.
     
    Last edited: Sep 25, 2017
  3. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    I would have to argue that as single statement with no context, you are suggesting something that won't suit a lot of people.
    I would suggest the comments below are generally accurate.

    "Fast-sync will only work when your FPS exceeds your refresh rate..."
    "Fast Sync is better used when your game outputs at least twice as many FPSs as your monitor can handle - example 120FPS game on a 60Hz monitor"
    "Adaptive V-Sync - will turn on V-Sync when the game's framerate hits the monitor refresh rate"
    "Again at low framerates this will be worse than regular vsync. Tom Petersen said this and made it clear this is for people getting super high framertes. I tested it myself at 60 fps and its much more jittery than regular vsync when panning around."

    https://www.reddit.com/r/nvidia/comments/4jsj9j/so_what_is_the_difference_between_fast_sync_and/
    https://forums.geforce.com/default/topic/948366/fast-sync-or-adaptive-vsync-or-what-on-144hz-/
    https://hardforum.com/threads/anyon...sync-on-1080p-60hz-or-144hz-monitors.1903398/

    ...my point being, it's going to depend on what hardware the end user has. If you're getting really high FPS within the game, then yes - I agree with you. If not, then no - fast sync is not ideal.
     
    SPASKIS and mark7 like this.
  4. LokiD

    LokiD Registered

    Joined:
    May 3, 2017
    Messages:
    1,282
    Likes Received:
    1,216
    Even though the guy said so it cleary has some advantageous side effects not known by nvidia

    Ive noticed fast works below the refresh rate too. a lot of people have said this. It gove more FPS than sync on and doesnt tear. It actually fixes the stuttering i get in RF2 when i have sync on! :)
     
    muz_j and Emery like this.
  5. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Great - fair enough. Experiences often vary depending on your hardware and software. If it works well for you - nice.
    I read your other thread too on a similar subject and made sure I fully understood the differences before replying.
    There's a very simple reason it does work well for you - you have very good level hardware (based on what's on your info page). I suspect based on your comments that you get pretty high frames rates in game too.
    At the end of the day though - real world trial and error and finding the right mix for yourself is usually the best way to go about things :)
     
  6. RoWo

    RoWo Member

    Joined:
    Jul 16, 2014
    Messages:
    570
    Likes Received:
    625
    All this is confusing me. Tried several combinations, but for me best result on my system is 1920x1080 borderless with rF2-VSync (Video) @ 60Hz-Single-Monitor. Interesting, that fullscreen brings stuttering, also fast sync or adaptive isn't smooth. Sadly with my settings it's not good, when FPS goes below 60.

    (System Specs: ASRock B85M Pro4 | Intel Xeon E3-1230v3 @ 3.30GHz | 8 GB G.Skill | Palit GeForce GTX 770 JetStream 2GB | be quiet! System Power 7 500W | Microsoft Win 10 Pro | @1920x1080)
     
    dadaboomda likes this.
  7. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Go with what works for you.
    Most of us in this discussion are using different hardware. (you list a GTX 770 in your signature, I'm running a GTX 1060 Ti, LokiD lists his card as a GTX 1080). We're not going to have the same experience and that's before we've discussed anything software related (installed OS, graphics driver versions, software and services running in the background).
    Trial and error is the way to go :)
     
  8. Emery

    Emery Registered

    Joined:
    Oct 24, 2010
    Messages:
    3,035
    Likes Received:
    1,654
    Speaking from experience, the GTX 770 doesn't have enough horsepower for rF2 for running any more than 5 AI cars at 1920x1080. Strongly urge you to upgrade.
     
  9. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    I am a total ignorant in this area. However, could someone explain what is the cause of stuttering? I don't mean an explanation of how it is perceived. I already know what it is. I ask about the internal cause of it.
    I am of the opinion that in order to fix something you need to understand what causes the problem and not only the result of the problem.

    From outside it would seem that something in the process of sending the rendered image to the monitor would not be working correctly. The perception is that framerate is much lower than what it reads in the internal fps counter. I am not sure if this is just a perception or if it is real. I can imagine that another thing that could be perceived as stuttering is if the actual time steps between rendered images were not being smooth and some time of multiplicity problems could be creating a repetitive pattern.
    For example if you are running at approximately twice the monitor refresh framerate, the system would have to discard 1 frame for every displayed frame.
    However if for some reason the system failed to do this sequentially for being up and above the exact twice we could end up having 110011001100 in the display. This would end up appearing as be running at half the framerate.

    IMO it is critical to properly understand what is being rendered when stuttering occurs. Is it one of the two things I explained above?

    For the first reason we should be looking for a problem in the process of updating frames. The second is a problem of which frames are being selected in the process of adapting frequency.

    As I said I am a dummy and I don't even know how this process works. I do however understand that my monitor is refreshing at its working frequency. I am not sure, on the other hand if this information is being sent at that same framerate to the monitor but that's what I would expect. Hence, the process of converting a variable framerate input into a constant framerate output is entirely done by the PC. Monitor may affect display lag but in no way could be responsible for stuttering. Please correct me so if this is not the case.

    The second described cause seems IMO a more plausible thing to be happening. Stuttering seems to be affecting all type of systems so I doubt something is failing to update at the given framerate.

    I would expect that fixing framerate to a slightly value than a multiple or a submultiple of the monitor refresh rate should help avoiding weird frame selecting patterns. For 60 Hz monitor I would suggest. 62, 124,.. The one that could be better guaranteed. Maybe 58, 116 could also work being less demanding.

    I understand that the different types of syncs are supposed to provide different solutions for this types of problems. Probably each one is specialized in different input characteristics. For example fast sync works better with higher framerates or this other sync wotks best when fps varies a lot....

    However, IMO controlling the input framerate seems to be the most logical approach in order to prevent framerate conversion issues.

    Forgive any stupid thing I may have said. Just wanted to help.
     
  10. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    That's a pretty big question, but I'll see if I can find a paper or something that explains things well.
    I think I could explain it clearly myself, but it might end up being a bit of a rambling spiel.
    Give me some time and I'll see what I can dig up...

    You are correct though when you say it's not due to the monitor. screen refresh rate is a separate issue and will only really result in a lower perceived FPS and some times image distortion like flickering, ghosting or image retention problems, if the monitor's input latency is too high or the refresh rate is too low etc.

    What you're really referring to is a 3D performance issue between the software and video card, but there are quite a few different factors that can come into the mix when trying to diagnose these types of issues.
    Pretty much all of them can be solved if you have a lot of money to throw at hardware though, but the whole thing is a juggling act for most people of price vs performance.
    Anyway, I'll see if I can track down an article or something that explains the gist of what I'm starting to get at.
    It's a good question though :) - but you're opening a bit of a "can of worms" with it :)
     
    SPASKIS likes this.
  11. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Here you go - this article looks like a good one to explain things.
    Have a read - it's a few pages long and I strongly suggest reading it from start to finish.
    Put aside the references to AMD specifics too and think about things in general terms applicable to any 3D rendering hardware.
    Enjoy :)

    article: https://www.anandtech.com/show/6857/amd-stuttering-issues-driver-roadmap-fraps
    page on stuttering: https://www.anandtech.com/show/6857/amd-stuttering-issues-driver-roadmap-fraps/3

    Blurb on first page:
    What follows is based on our meeting with some of AMD's graphics hardware and driver architects, where they went into depth in all of these issues. In the following pages we’ll get into a high-level explanation of how the Windows rendering pipeline works, why this leads to single-GPU issues, why this leads to multi-GPU issues, and what various tools can measure and see in the rendering process.
     
    SPASKIS likes this.
  12. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    Thanks for your reply. Let me add my comments to what I read.
    According to the text, there are several issues that could provoke stuttering but indeed all related to a variable input framerate. Windows inability to handle realtime tasks should not be a variable for the type of stuttering problems in rF2 that appear and disappear that many people have reported so far.

    What in my opinion would be interesting is when creating perflogs is to record the time stamp at which each frame is created in order to analyse the type of stuttering. Apart from that, for each display frame its composition should be defined in terms of which of the original frame(s) compose it and at which ratios. Screen tearing would show many composite display frames I presume.

    I guess it would help to understand under which conditions stutterings occurs and how to better handle them. I would think that each computer may have some stuttery framerate range from which is better to keep away. One of the most important things the article says is that no system is stuttering free. It's all about being visible or not.

    Answering to my initial suggestion. How does changing forced max framerate affect to stutterings?

    @Ari Antero. Is there a significant fps increase between the typical dual mode that you have many times described that is solved alt tabbing?

    Thanks in advance for your replies.
     
  13. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Right - I think we need to highlight a couple of key points.
    Stuttering itself is a complex issue involving multiple parts of the rendering pipeline. This starts at the application level, then the OS, then the graphics API, then the GPU drivers, then the GPU itself.
    I suggest rechecking the rendering diagram on page 2 of that article to highlight all parts of the process.

    This is the key bit for me on page 3:
    "but briefly, stuttering can occur at several different points in the rendering pipeline. If the GPU takes longer to render a frame than expected – keeping in mind it’s impossible to accurately predict rendering times ahead of time – then that would result in stuttering. If a driver takes too long to prepare a frame for the GPU, backing up the rendering pipeline, that would result in stuttering. If a game simulation step takes too long and dispatches a frame later than it would have, or simply finds itself waiting too long before Windows lets it submit the next frame, that would result in stuttering. And if the CPU/OS is too busy to service an application or driver as soon as it would like, that would result in stuttering. The point of all of this being that stuttering and other pacing anomalies can occur at different points of the rendering pipeline, and become the responsibility of different hardware and software components. Complicating all of this is the fact that Windows is not a real-time operating system, meaning that Windows cannot guarantee that it will execute any given command within a certain period of time."

    So your comment re: windows not being a factor is incorrect. It definitely is a factor.
    Or spelt out another way, I could induce stuttering on to a game (the application) by effecting the OS. Therefore so can other things - like other software running concurrently, software and driver issues, hardware performance problems.
    That's why properly resolving these sorts of issues is complex. You can't just rule chunks of the process out and say that's not a potential factor without fully understanding it. And just because it's not a factor on your system, it might be on mine etc.
     
    SPASKIS likes this.
  14. muz_j

    muz_j Registered

    Joined:
    Aug 20, 2014
    Messages:
    264
    Likes Received:
    188
    Off the top of my head, I don't think windows performance monitoring supports logging of graphics rendering to that level, but I might be wrong. I'll need to check.
    But making the assumption that it does for a minute - even hypothetically, the monitoring itself is going to have a performance overhead to it and may in fact increase the load on the OS and cause the very thing you are trying to diagnose.
    I think you'd need to use specialist tools for this sort of thing - like GPUview, which is discussed in page 4 of that article.
    ...and I think that's probably enough from me. I've made my points :)
     
    SPASKIS likes this.
  15. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    Among the first replies several fps limitations are recommended based in being prime or odd numbers. IMO this makes no sense at all. When limitimg framerate you don't get an exact fixed number. It has some oscillation. IMO what you want is framerate to be slightly ahead of refresh rate so that multiplicity related patterns do not occur. Using an exact multiple + a small amount should guarantee almost synchronicity and a nearly constant time time step between rendered frames.

    For this reason I would recommend 62 and not 61. Actually I would select the figure considering the real variation of framerate when capping it. You want it to as close as possible to refresh rate but always to the same side of it.

    I think it is worth trying 58 the effect should be a small freeze instead of a small jump.
    @dadaboomda could you try 58, 60 and 62 and report back if you find any difference?
    Can you also check for fps variation when capping it?
     
  16. Ari Antero

    Ari Antero Registered

    Joined:
    Jul 27, 2012
    Messages:
    1,882
    Likes Received:
    829
    SPASKIS likes this.
  17. RoWo

    RoWo Member

    Joined:
    Jul 16, 2014
    Messages:
    570
    Likes Received:
    625
    My experience is, that I participate in league races with this system since 3 or 4 years - with good looking graphic settings and nearly stable 60fps. So this graphics card is not that bad. Surely could be better.
     
  18. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    Thanks Ari.
    It would nice if we ever get an explanation of what is causing that duality. I wonder if stuttering is a symptom itself or just a consequence of the fps drop.

    Foe the record, I also noticed (and reported) another type of dual fps mode while testing dx11 in my computer in June. It affected TV view. I would get lower fps if the switching to TV view was not applied after hitting race. Evidently, it is something completely different but speaks about the lack of consistency of the game.
     
  19. Ari Antero

    Ari Antero Registered

    Joined:
    Jul 27, 2012
    Messages:
    1,882
    Likes Received:
    829
    I`v had chat with @Christopher Elliott about alt+tab in discord and according him "game should work as is, even if you 'click' on apps. It's in the bug tracker, alt-tab is not the best thing in general. If you really want to mess around in apps all day, use borderless or windowed"

    S397 is working with issue but for now use alt+tab ;)
     
    SPASKIS likes this.
  20. SPASKIS

    SPASKIS Registered

    Joined:
    Sep 7, 2011
    Messages:
    3,155
    Likes Received:
    1,426
    Thanks for the info Ari.
    However, I am pretty sure that ALT TAB didn't make any difference in my case. I will try again after tonight's race. In my case the fps in dx11 is the same regardless fullscreen or windowed or borderless is selected. However in dx9 fullscreen would show 30% more fps compared to the other two.

    For me this is the biggest proof of fullscreen mode not being properly applied. I would actually expect having higher fps with dx11 than with dx9 if it would properly work. The effect in fps of fullscreen using dx9 is bigger than the drop in fps from dx9 to dx11 using windowed/borderless.

    All this is reported in my posts regarding dx9 vs dx11 performance comparison thread.

    https://forum.studio-397.com/index....formance-difference.55385/page-11#post-897282

    https://forum.studio-397.com/index....formance-difference.55385/page-11#post-897512
     
    Last edited: Sep 26, 2017

Share This Page