FPS Lock at lower than refresh rate value with vsync off/vsync on

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by manupa14, Jan 15, 2021.

  1. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    This is the scenario. I have a 4k60hz monitor and im playing RDR2. Now as I can't get a locked 60 I use RTSS to lock the framerate to 45 fps and vsync off which I can consistently keep. Now as far as my understanding goes, my monitor is refreshing 60 times a second and im sending 45 frames, which in theory should result in stuttering and uneven frametimes. However this is not the case, frametimes are consistent and i do not notice any weird stuttering. Does anyone know what exactly is happening here? how is the monitor displaying those 45 fps at even frametimes? (rivatuner is reporting even frametimes)

    Now onto the second part of the question. With the above scenario (45 fps lock, 60hz refresh rate, vsync off) I get a bit of tearing during cutscenes. My understanding regarding double buffered vsync on a 60 hz refresh rate is that it would lock your fps to your refresh rate, and if framerates fell lower than that it would go to 30 fps causing severe stuttering. I went ahead and enabled Vsync anyways (keeping triple buffering OFF). To my surprise, tearing was gone, I could feel the extra input lag that vsync introduced but fps were still 45 with good frametimes. How the hell can this be? Why turn triple buffering at all then? I am really confused as this two scenarios I presented kind of go against my understanding of refresh rate, framerates, frametimes, double buffered vsync and what triple buffering is supposed to do
     
  2. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    ALSO to my understanding borderless window mode should force triple buffered vsync through windows, however I get tearing in borderless window in all games, be it DX12 or DX11

    I know its too many questions for one thread but I'm quite confused
     
  3. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,055
    Likes Received:
    3,582
    GPU:
    GTX 1080ti
    you can't get 45fps with double buffering unless presenting via the compositor
     
  4. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    isn't vsync forced via control nvidia panel double buffered? I set it to force on on nvidia profile inspector then full screen and vsync off in game, still getting 45 fps.
     

  5. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    and like i said compositor seems to not be working for me as im getting tearing in borderless window, unless im doing something wrong?
     
  6. Passus

    Passus Ancient Guru

    Messages:
    1,696
    Likes Received:
    488
    GPU:
    RX 5700 Mech OC
    do you have a gsync monitor?
     
  7. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    I do have a Freesync monitor but an rtx 2080 GPU and I'm using HDMI 2.0. Not only is my monitor not supported by nvidia, not even hdmi is supported for nvidia freesync}

    edit: also freesync shows greyed out in my monitor's settings. Just to be sure.
     
  8. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,055
    Likes Received:
    3,582
    GPU:
    GTX 1080ti
    control panel vsync doesn't set how many buffers in the flip queue(iirc), thats up to the game client

    if your application was actually double buffered you would be at 30fps any you aren't at meeting refresh rate.
     
  9. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    Then why would RDR2 even give me the option to enable triple buffering? Does not make much sense

    Also, it seems to happen in all games

    Also, why do i get tearing in borderless window?

    thanks for your help and responses!
     
  10. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,055
    Likes Received:
    3,582
    GPU:
    GTX 1080ti
    borderless window can be set to allow tearing, to "Fast sync" (Flip mode discard) or a complete swap interval.

    DXGI is async so as long as you're drawing into the compositor you can do as many frames as you want using a limit without the limitations of double buffer.
     

  11. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    Would you be so kind as to tell me how it can be set into these different modes?
     
  12. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,055
    Likes Received:
    3,582
    GPU:
    GTX 1080ti
    Source code, or a tool such as Special-K
     
  13. CrunchyBiscuit

    CrunchyBiscuit Master Guru

    Messages:
    284
    Likes Received:
    63
    GPU:
    AMD Radeon HD6950 2GB
    Having your card render a frame is different from having your monitor actually display a frame. Frame render times are easy to measure, frame display times are a bit trickier.

    Your measured frame render times can be completely consistent at 45fps@60Hz (perfect flat line). Nothing strange there.

    However, I'm having a hard time understanding how 45fps@60Hz could possibly look good. Many people wouldn't exactly call it "stuttering", but it certainly shouldn't look smooth either.
     
  14. Passus

    Passus Ancient Guru

    Messages:
    1,696
    Likes Received:
    488
    GPU:
    RX 5700 Mech OC
    No mate i used to lock some games at around 45 fps when i had a older 60hz screen and older gpu ,, ran smooth with vsync

    action games and rpg's but shooters i wouldnt play with 45fps
     
  15. CrunchyBiscuit

    CrunchyBiscuit Master Guru

    Messages:
    284
    Likes Received:
    63
    GPU:
    AMD Radeon HD6950 2GB
    I guess it looks tolerable to some (most, maybe), yet terrible to others. There's technically no way to make it look consistently smooth.

    I'd rather go for 30fps@60Hz than 45fps@60Hz. To each their own.
     
    Passus likes this.

  16. Passus

    Passus Ancient Guru

    Messages:
    1,696
    Likes Received:
    488
    GPU:
    RX 5700 Mech OC
    Very True
     
  17. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    Effectively my monitor must be doing some shenanigans. It is indeed a freesync monitor but im over hdmi and nvidia doesnt support it. HOWEVER, I just tried many many games and with double vsync enabled when I fall below 60 fps it doesn't go to 30, it just fluctuates. And if i lock framerate lower than vsync but above 30 i get consistent frametimes and said fps lock. However, if i disable vsync i do get tearing, suggesting freesync is not working. Can anyone shed some light on just what the heck is going on?
     
  18. manupa14

    manupa14 New Member

    Messages:
    9
    Likes Received:
    0
    GPU:
    RTX 2080
    A
    Also, I tried setting my refresh rate to 45 HZ and playing with vsync on on rdr2 and then my refresh rate to 60hz and vsync on again and it looked just as smooth both times. Actually smoother at 60hz because input lag was noticeable lower (lower scanout lag im guessing?)
     

Share This Page