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 Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Thanks so much, that's really helpful -- sorry, but what do you mean by, "The safest value is "1" though." -- do you mean for Scanline Sync's number? (-200, 1, etc). I appreciate your explanation there, I can experiment with all of that then.
     
  2. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Ah, interesting, thanks!
     
  3. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    It's kinda of irritating to me that both Nvidia and AMD have such limited half-refresh v-sync options in their stock control panels. AMD doesn't have any options at all while Nvidia only has half-refresh Adaptive V-Sync which doesn't really work with the low-lag v-sync trick (since it'll tear constantly if you cap to exact refresh rate in my local tests).

    For Nvidia you can get around this with Nvidia Inspector, but I don't think you should have to use this tool -- really this stuff should just be options in the stock control panel.
     
  4. CrunchyBiscuit

    CrunchyBiscuit Master Guru

    Messages:
    343
    Likes Received:
    126
    GPU:
    MSI GTX 980 Ti
    Agreed. I find it baffling as well.
     
    BlindBison likes this.

  5. RealNC

    RealNC Ancient Guru

    Messages:
    5,087
    Likes Received:
    3,369
    GPU:
    4070 Ti Super
    Yes. Positive numbers make RTSS count from the top, negative numbers mean counting from the bottom. So "1" means RTSS will try to sync to the first scanline. That's the top-most scanline on the screen. "-200" means it will try to sync to the 200th scanline counting from the bottom. So if there's 1200 scanlines total, a value of "-200" translates to scanline 1000.

    "-200" means RTSS will have 200 scanlines of headroom. If it misses it, you get a stutter. "1" on the other hand means RTSS will have all available scanlines as headroom. Input lag is increased a little bit, but that's much closer to how 1/2 vsync would behave.

    I just tested this myself btw, and indeed it works perfectly fine. No microstutter. Input lag is also lower than 1/2 vsync, because scanline sync is a frame limiter and gets rid of vsync backpressure lag. With just 1/2 vsync, you get full 30Hz vsync backpressure lag, which is quite huge and you need to use RTSS on top of it anyway with an FPS limit of Hz / 2 - 0.01 to make it playable. And if you need to use RTSS anyway, then one might as well just use normal vsync + scanline sync and forget about 1/2 vsync. Unless there's a game out there that doesn't work with scanline sync, that is. But I think ssync works with all APIs? DX9-12, GL and Vulkan? So it should work everywhere, I think.
     
    aufkrawall2 and BlindBison like this.
  6. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Thanks, that's really interesting -- thank goodness for RTSS, eh?
     
  7. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    It's flat out nuts if you ask me lol
     
  8. someonelikeyou

    someonelikeyou Member Guru

    Messages:
    132
    Likes Received:
    17
    GPU:
    RX 5500 XT
    It's common knowledge at this point that AMD drivers suck ass on windows but are good on linux, they spend all their time stuffing the windows drivers with useless browser bloatware like tracking how long was your last session, how much you've played of that game, graphs, phone integration, streaming, fancy transitions, buttons and toggles that do absolutely nothing and other useless crap. I'd love any proof that game profiles do anything on AMD or proof that forcing aniso/vsync/AA/triple buffering works at least half of the time on modern and old DX11/DX12/Vulkan games. Thank god I'll never be a braindead consumer fanboy like your sorry ass.
     
    The Creator and TimmyP like this.
  9. Chastity

    Chastity Ancient Guru

    Messages:
    3,744
    Likes Received:
    1,668
    GPU:
    Nitro 5700XT/6800M
    Actually, I'm with Agonist, and my game profiles work just fine. I can control enabling Chill, RIS, or teh other features. VSync is better controlled through the game settings, which honestly, I prefer. I do find that on ocassion, you need to gut the Radeon Settings and restore to fresh, especially after a few updates. Recently I've started using DXVK Async, and I've been quite happy with the results. I no longer need to frame cap with using FreeSync + VSync, as I don't get the hitching from going from maxfps to under. As such, I no longer require RTSS. Also, I find my minfps has improved, and overall the game is smoother.

    I must be a sorry ass too then. At least the stuff works for me.
     
    Direfield likes this.
  10. Fox2232

    Fox2232 Guest

    Messages:
    11,808
    Likes Received:
    3,371
    GPU:
    6900XT+AW@240Hz
    While RTSS is not required, it remains that its framerate limiter is by far best there is. In most cases, one in AMD's drivers works better than one in game.
    But none are even close to RTSS.
     
    OnnA likes this.

  11. someonelikeyou

    someonelikeyou Member Guru

    Messages:
    132
    Likes Received:
    17
    GPU:
    RX 5500 XT
    So chill works, what about the rest I specifically mentioned?
    Hardmode: no DX9 games/cs/dota
    When I rant about game profiles I mean game-specific tweaks that both AMD and NVIDIA did in the past. For instance I know since X.X.X driver CSGO has a pre-rendered frames size of 1 by default but where is that? in what config file? is it even on still? When I go into the registry there's only a global setting and not a game-specific one anywhere.
    When the driver notes mention something along the lines of "Added support for game" what does that mean? I haven't felt the tiniest bit of difference if the game has a profile or not showing up on the panel and it sure as hell seems like AA/Aniso/Tesselation forcing doesn't work, ever.

    Cool that you prefer that but my point is why is it in the radeon panel when it doesn't actually do anything? Why doesn't it have any warning or info about what's needed for it to work?

    How is this related to the drivers? The merits of DXVK are not on the AMD driver team and even if you had to limit using the radeon panel, RTSS just blows it out of the water, just like how OBS blows it out of the water for streaming as well.

    Which AMD frame limiter are you talking about? "Frame Rate Target Control"?
     
  12. Fox2232

    Fox2232 Guest

    Messages:
    11,808
    Likes Received:
    3,371
    GPU:
    6900XT+AW@240Hz
    I meant Chill. If FRTC is back, I have not noticed. (And I looked just now to make sure.)
     
  13. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    4,498
    Likes Received:
    1,874
    GPU:
    7800 XT Hellhound
    It's only there with RDNA2 and not available per game profile. Though imho it's mostly useless due to the high input lag it causes (unlike Chill).
     
  14. SpajdrEX

    SpajdrEX Ancient Guru

    Messages:
    3,417
    Likes Received:
    1,673
    GPU:
    Gainward RTX 4070
    FYI, FRTC should be available soon for more previous generations of AMD cards.
     
    Krteq likes this.
  15. cap5lock

    cap5lock Active Member

    Messages:
    70
    Likes Received:
    23
    GPU:
    RTX™ 4070 Ventus 2X
    Check this thread for solutions
    https://forums.guru3d.com/threads/how-to-half-vsync-double-refresh-rate-on-radeon-solutions.436910/

    A lot of people asking half refresh rate on radeon.
    There is 4 ways :

    1. Riva Tunner Statistic Server (RTSS) scanline sync x/2.
    This is the best solution, super smooth console equivelent 30fps experience (on 60hz display) but with super low input lag far better than console) :

    • Install RTSS (or MSI afterburner with RTSS bundled)
    • Click scanline sync on RTSS until it shows scanline sync x/2 then put 1 (positive number)
    • run game
    • ENABLE IN GAME VSYNC
    • done

    (i know rtss sc x/2 is designed to be used with vsync disabled, but enabling in game vsync eliminate all occasional tearing with minimal extra input lag)

    2. SpecialK
    Presentation interval 2 (double/half vsync)
    This solution add high input lag :

    • donload and extract latest specialK (https://discourse.differentk.fyi)
    • rename SpecialK64.dll to dxgi.dll
    • copy dxgi.dll to same game .exe directory
    • run game (then close the game) to automatically create dxgi.ini file in same directory
    • change steam log to false in dxgi.ini file
    • run game
    • press ctrl + shift + back space to open specialK gui
    • Find and change the parameter PresentationInterval to 2
    • done

    3. Radeon Pro (old solution only work on dx11 games) :

    • download and install radeon pro
    • open radeon pro
    • on tweaks tab change vsync control to Always On (Double Vsync)
    add game .exe to radeon pro
    • launch game

    4. FRTC (Frame Rate Target Control)
    Yes this is not true half/double vsync, but consistent and accurate frame pacing deliver smooth half vsync effect (especially on freesync enabled monitor).
    FRTC far more better and stable fps than radeon chill. Radeon chill also broke freesync.
    RDNA2 card has this option available. Just change fps target on radeon crimson gui.

    • Open Registry Editor
    • Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e968-e325-11ce-bfc1-08002be10318}
    • Expand the folder and select 0000
    • Scroll down to KMD_FRTEnabled and change it to 1
    • Change KMD_MaxFrameRateRequested to the value you want your FPS to target in hex (hexadecimal)
     
    Adiurd likes this.

  16. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    4,498
    Likes Received:
    1,874
    GPU:
    7800 XT Hellhound
    Chill doesn't break FreeSync. One should enable vsync with it too to avoid tearing, but VRR will continue to work as expected (unless something is bugged) and latency will still be much lower than with FRTC.

    Btw: For whatever reason, RTSS scanline sync works much better with DXVK than with native D3D/Vk applications. It's easy then to shove tearing entirely out of the frame (no visible tear line) and it stays away even with high GPU load (but of course not ~99%).

    Edit: Though I can't get it to work in Hitman 2 and Just Cause 3. I had it working in Witcher 3 a few months back, hope it still works there...
     
    Last edited: Feb 28, 2021
  17. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,419
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Is there still no way to set half refresh rate Vsync for AMD like you can with Inspector (or the control panel if you’re willing to use adaptive half refresh rate) for Nvidia?

    Seems like this would be an important feature to support for AMD with the Steam Deck coming out.

    I imagine in heavy modern games I’d want to target 30 rather than 60 on that device (and install Windows on the thing), but if there’s no way to force half refresh rate Vsync for games that’s sorta worrisome for me.
     

Share This Page