Any way to "Half-Refresh V-Sync" with AMD GPUs? Thanks!

Discussion in 'Videocards - AMD Radeon Drivers Section' started by BlindBison, Feb 22, 2021.

Tags:
  1. BlindBison

    BlindBison Master Guru

    Messages:
    607
    Likes Received:
    108
    GPU:
    RTX 2080 Super
    On Nvidia, you can either use Half-Refresh Adaptive V-Sync via the control panel OR you can download Nvidia Inspector then use an RTSS framerate limit for just standard half-refresh V-Sync.

    On AMD though I'm not sure if there's a way to do this -- I know RTSS Half Refresh Scanline Sync is an option, but the issue with that is if the GPU load is too high then the tear moves around and it doesn't work quite right.

    In particular I recently saw a video of games running on some new handheld PCs which used some of the new AMD APUs, but most modern games you'd realistically need to target 30 fps, not 60 seems to me. Thanks!
     
  2. Fox2232

    Fox2232 Ancient Guru

    Messages:
    11,803
    Likes Received:
    3,359
    GPU:
    6900XT+AW@240Hz
    Any and all VSync features became obsolete with Adaptive sync as long as you limit fps under maximum screen's refresh rate.

    AMD has automatic Low Framerate Compensation which doubles your fps moment it is under Freesync's range.
    https://www.amd.com/en/technologies/free-sync-faq#faq-What-is-Low-Framerate-Compensation?

    So, when you have screen with 48Hz to 144Hz Freesync range, moment game runs 30fps, screen gets doubled frames at 60Hz and Freesynd works => No need for VSync.
     
    CPC_RedDawn and Agonist like this.
  3. cucaulay malkin

    cucaulay malkin Ancient Guru

    Messages:
    1,546
    Likes Received:
    713
    GPU:
    107001070
    incorrect.
    some games don't play nicely with unlocked framerate and no v-sync,there's stutter and tearing.you still need vsync for some.half refresh is very useful cause it let's you run 60 fps but 120hz,less blur and faster pixel transition.
     
  4. Fox2232

    Fox2232 Ancient Guru

    Messages:
    11,803
    Likes Received:
    3,359
    GPU:
    6900XT+AW@240Hz
    That's conjecture on your side. And is completely against logic which is part of mathematics.

    You know, 30fps matches following statement of mine: "as long as you limit fps under maximum screen's refresh rate."

    In other words, with freesync, you can limit fps to 30 and it will result in 60Hz output to screen automatically.

    And to your "tearing". Sorry, not on AMD's side.
     
    CPC_RedDawn, mkh and Agonist like this.

  5. BlindBison

    BlindBison Master Guru

    Messages:
    607
    Likes Received:
    108
    GPU:
    RTX 2080 Super
    Thanks, but this would be assuming that there is no freesync and instead that the screen is typical fixed refresh. Naturally if the monitor in question is Freesync then this is a non-issue. Apologies if I'm misunderstanding your comment.
     
  6. cucaulay malkin

    cucaulay malkin Ancient Guru

    Messages:
    1,546
    Likes Received:
    713
    GPU:
    107001070
    how ?
    and why did you put like that ? "my tearing".
    you are really kinda uspleasant to talk to despite the fact you probably know your stuff.lots of passive agressive retorts.Im trying to help the op like you.this isn't a contest for the snarkiest remark.
    the question was about half refresh vsync,not adaptive sync.maybe he wants to use it with strobing.
    is there is there not ?
     
    Last edited: Feb 22, 2021
  7. Mt441PL

    Mt441PL Active Member

    Messages:
    62
    Likes Received:
    47
    GPU:
    RX Vega 56 8GB
    Isnt this vsync with double buffering then?

    Now if you want the shady version,
    There are some registry entries but i dont know if thats what they do, or if driver killed their functionality
    You could go to your driver 2D file path (0000) to UMD (0000\UMD) and create 'TurboBuffering'=31,00 and 'TurboSync'=31,00 and set VSyncControl from like 31,00,00,00 that it is, to 33,34,00,00 and _DEF to 34
    You can also try 3 or 4 so like (33,00,00,00 or 34,00,00,00). If you cant get it experiment.

    Then enabletriplebuffering=31,00 and enabletriplebuffering_def = 1

    This will however FORCE it globally on all games as soon as you write that into the registry ( no need to restart )

    It still works in Adrenalin 2020, im on a GCN Vega card, i tried

    I know it may sound shady to promote a regedit workaround, but it's AMD's mistake for not exposing a lot of this functionality through driver panel
     
    cucaulay malkin likes this.
  8. someonelikeyou

    someonelikeyou Active Member

    Messages:
    89
    Likes Received:
    8
    GPU:
    PowerColor R7 260x
    The AMD control panel is cosmetic only, 95% of the time it won't do anything
     
  9. SpajdrEX

    SpajdrEX AMD Vanguard

    Messages:
    2,790
    Likes Received:
    1,054
    GPU:
    Sapphire RX 6800XT
    With 30fps I get 60hz screen refresh but when rotating camera, it's far from smooth.
    With RTX3080 and Vsync set to 1/4 I had it much better performing for sure.
     
  10. cucaulay malkin

    cucaulay malkin Ancient Guru

    Messages:
    1,546
    Likes Received:
    713
    GPU:
    107001070
    how are you getting 1/4th ? my gtx1070 is interested.
     

  11. SpajdrEX

    SpajdrEX AMD Vanguard

    Messages:
    2,790
    Likes Received:
    1,054
    GPU:
    Sapphire RX 6800XT
  12. Fox2232

    Fox2232 Ancient Guru

    Messages:
    11,803
    Likes Received:
    3,359
    GPU:
    6900XT+AW@240Hz
    Because there is no tearing when adaptive sync is enabled on AMD's side. Which is OP's case.
    That makes tearing your personal thing. Or thing of nVidia which is irrelevant to OP.

    Same way as use of backlight strobe for 30fps. Ignoring output mode, that frame is going to sit there for 33.33ms. (And that's generally feature of nVidia Vision 3D screens which was adapted to newer screens with intended use as ULMB feature.)
    And even on 120Hz screen without any sync and tearing, following would happen:
    - Game creates new frame every 4 cycles of screen refreshes.
    - This results in 1 frame in 4 having opportunity to have tearing.
    - That tearing would be in place 8.33ms in case it would happen.

    Back in days when I had 120Hz non-freesync screen, I tested quite a few modes. And I can tell you that in scenario above, 30fps is more unpleasant than noticing tearing frame once every xx seconds. And it is noticeable only when you concentrate on it.
    On that screen, sometimes I limited fps with RTSS to 60fps, then switched to frame time, and increased by 1~2. So fps limit is just under 60. Same would work for 30fps.

    But even exact 30fps limit is all it takes on AMD's side and freesync screen.
    = = = =
    @BlindBison Well, with 60Hz screen and no freesync capability, you have to experiment. I would start with RTSS 30fps limit. Then click on framerate next to number. It will switch to frame time. Increase it by bit. And I would test without v-sync. Because VSync introduces extra delay. And that's already high on 30fps.
    In your case, only every 2nd screen refresh can have tearing under 30fps condition. And those screen refreshes in between would fix them. (Worst case scenario, 25% of image gets affected by tearing over time.) But that's rarely problem.

    Other thing is borderless fullscreen mode which behaves differently based on wddm version (windows and driver combination results in certain version).
    That forces or used to force VSync on both nVidia and AMD. (nVidia did some hacking at some point which broke some things in sake of fixing others)
    But AMD tends to follow standard set between them and MS.

    So that would again (automatically) make your screen run in 60Hz mode while framerate would be running 30 and VSynced.

    Maybe proper information would be about particular game(s) where you face problems with tearing and what screen mode you use in such game.
    And maybe some of us will be able to replicate issue and then test for solutions. (In my case, I run rather new version of windows and things may work differently. But if I have such game, I can still disable Freesync and run 60Hz + do testing.)
     
    Krteq, cucaulay malkin and Agonist like this.
  13. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    772
    Likes Received:
    106
    GPU:
    6800 reference UV
    Realistically only app-controlled (if supported), via DXVK or with low refresh rate resolution.
    Driver forced vsync doesn't exist at all on AMD Windows, except of OpenGL and EnhancedSync.
     
  14. Agonist

    Agonist Ancient Guru

    Messages:
    3,113
    Likes Received:
    383
    GPU:
    XFX 5700XT Raw II

    Another words, you are incapable of making anything work.
     
    Krteq likes this.
  15. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    772
    Likes Received:
    106
    GPU:
    6800 reference UV
    Or you experience placebo effect.
     

  16. Agonist

    Agonist Ancient Guru

    Messages:
    3,113
    Likes Received:
    383
    GPU:
    XFX 5700XT Raw II
    Another words, too ignorant to understand.
    Everything I do in the driver works, forced game profiles, wattman, or w/e. Nothing is placebo.
    Low input lag on my monitor setting, enhanced sync, 144hz, 16x anistrophic filtering. Care to be daft still?
     
    Krteq likes this.
  17. cucaulay malkin

    cucaulay malkin Ancient Guru

    Messages:
    1,546
    Likes Received:
    713
    GPU:
    107001070
    60fps/120hz half refresh vsync played very nice with strobing when I was playing blair witch.really smooth camera pans,not much blur going on.but that's only how I could play on a controller.for kb+m I'd prefer lower lag and I could deal with minor tearing and stutter.

    btw I wonder how asus' elmb sync works in action.
     
  18. aufkrawall2

    aufkrawall2 Master Guru

    Messages:
    772
    Likes Received:
    106
    GPU:
    6800 reference UV
    Context has been vsync and "Nothing is placebo" is obviously wrong here. I think the TO wanted to be informed about reality and not hear stupid fanboy gabbling that denies reality.
     
  19. CrunchyBiscuit

    CrunchyBiscuit Master Guru

    Messages:
    289
    Likes Received:
    65
    GPU:
    AMD Radeon HD6950 2GB
    You might want to try out SpecialK ( https://steamcommunity.com/groups/SpecialK_Mods ), as I read this tool should be able to force frame rates at 1/2 refresh rate/double vsync. Never tried it myself, so I'm not sure about the side effects (if any).

    GeDoSaTo is also able to force frame rates at 1/2 refresh rate/double vsync, but it's a bit heavy on the CPU for some reason (might have changed now - been a while since I last tried it).

    Sorry I can't be of any more assistance. Good luck and let us know what you find out!
     
    BlindBison and aufkrawall2 like this.
  20. RealNC

    RealNC Ancient Guru

    Messages:
    3,318
    Likes Received:
    1,515
    GPU:
    EVGA GTX 980 Ti FTW
    Enable vsync and see if RTSS x/2 scanline sync then gets you a true half refresh FPS lock. Also try using x/2 scanline sync together with AMD enhanced sync and see if that's better. It might have an input lag advantage over normal vsync, but might have a bit more stutter, not sure. I guess try both and see for yourself.

    This works fine because RTSS ssync will try and time the frame limiter to exactly every other vblank, while vsync or enhanced sync will prevent the tearline from showing. So very often, you get a result that looks the same as true 1/2 vsync.

    To avoid the majority of stutters, make sure to give ssync a large enough headroom of scanlines. For example, if normally a value of -60 (yes, a negative number) hides the tearline below the bottom of the screen, it might not be enough during heavy GPU load. So use a value like -200 or even -300 instead to protect against that. When you use vsync in combination with ssync, then a missed vblank by RTSS will result in a stutter for that frame. The safest value is "1" though. This gives ssync the largest possible headroom to work with and should in theory eliminate any and all stutters. The drawback is that it will increase input lag somewhat. Most of the time though, -200 or -300 should be enough.

    Important: to make sure the regular RTSS limiter does not interfere, set the normal RTSS FPS limit to either 0, or to a value that's higher than half your refresh rate. (So either 0 or higher than about 30.5 for a 60Hz display.)

    Also, if the game you play has a built-in limiter, you can enable it and set it to 30FPS, which in most cases will give you quite a bit of input lag reduction. If that results in stutter, then set it to 31FPS, as that should still provide some latency reduction. Set the normal RTSS limiter to 0 here to make sure the in-game limiter is always used.
     
    Last edited: Feb 28, 2021
    BlindBison and aufkrawall2 like this.

Share This Page