Adaptive vsync with half refresh rate - is that possible with a AMD card?

Discussion in 'Videocards - AMD Radeon' started by kaputt, Dec 4, 2016.

  1. kaputt

    kaputt Guest

    Hi guys.

    I know that Nvidia has a way to use adaptive sync while also halving the refresh rate, and this is the best way to play PC games at 30 FPS, it is the way to have the smoothest gameplay with this FPS lock, without tearing worsening the image quality.

    However, I can't find a viable way to do the same thing with my AMD card.

    Unfortunately, there's no way to do it with Catalyst, there's no option. I know, however, that there's a Dynamic Vsync option that you can enable through Radeonpro or the registry, but I had not been successful with my attempts.

    I tried RadeonPro and had no success at all, the game would only obey to it's internal settings of refresh rate/vsync. The I thought that I should create a custom resolution, with 30Hz as the refresh rate, than enabling Dynamic Vsync through the registry. That, however, also proved unsuccessful, when I disable vsync in-game the game goes to maximum frame rate it can achieve (60 or less) without having any vsync at all. I tried creating custom resolutions with CRU and Catalyst.

    So, do you know any other alternative I can try to achieve this? I'm almost giving up and just selling my card to get an Nvidia Card, because locking game sat 30 FPS is really important to me, since that I unforntunately can't afford to always get a new card to get the highest frame rate possible.

    Thanks in advance
     
  2. Chastity

    Chastity Ancient Guru

    Messages:
    3,733
    Likes Received:
    1,656
    GPU:
    Nitro 5700XT/6800M
    What I am having trouble with is understanding why you think 30FPS is an optimal setting for smoothest playback? Is it because this is what the consoles do? I would rethink this as modern consoles can do more than 30fps these days.

    Also, should you encounter a situation in your game that causes a lag, like say loading textures, etc, you will still encounter a dip in FPS, and dipping from 30 to 22 is much more impactful on smoothness vs 60 to 52. If 30 was optimal, why even have 144Hz gaming monitors?

    Maybe you think that running at 30 allows for maxed out graphical settings, or being able to use 4k settings. I'm still a bit at a loss.

    What games are you having trouble with? Many game engines have the ability to cap framerates internally.
     
  3. mtrai

    mtrai Maha Guru

    Messages:
    1,183
    Likes Received:
    374
    GPU:
    PowerColor RD Vega
    HAHA but anyhow use FRTC to set max FPS to 30 in the gaming section under global.

    Not sure where you get this is the best way to play games on PC, and I am trying to be polite here. As was the poster above me.
     
  4. kaputt

    kaputt Guest

    Of course 60 FPS is better than 30, the problem is that my video card is not able to have solid 60 FPS in most games.

    Right now, I'm playing The Witcher 3 on PC. I use a TV as my screen. I can't get a setting that gives me 60 FPS, at least not with the graphical sacrifices I'm willing to make. It averages 48 FPS. I dislike fluctuating frame rates because they feel janky with Vsync on - that's why Freesync and Gsync exist. Locking to 48 FPS, for example, is actually worse than 30 FPS, because it doesn't give a perfect synchronization with the TV refresh rate like 30 FPS does. A lot of sites, like Digital Foundry, already touched this subject.

    That's why I want to lock it at 30 FPS with adaptive vsync with half the refresh rate. Locking the FPS is not the problem (The Witcher 3 even has an option in game, just the adaptive vsync with half the refresh rate. People with Nvidia cards say this is the best way to play games locked at 30 FPS on PC. Right now, when I play The Witcher 30 FPS locked with Vsync on, the "jankiness" occurs, but if I turn it off, it goes smooth, just like my PS4. I think that adaptive vsync then is the perfect solution because it disables vsync when micro dips in the frame rate occurs, preventing the "jankiness".

    It's a bit hard to explain, specially for me as a non native English speaker, but trust me, it would be really helpful :)
     
    Last edited by a moderator: Dec 4, 2016

  5. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    If you want to lock framerates at an evenly paced 30fps, use the Double Vsync feature in RadeonPro. As for the people laughing at him for wanting to do that, I don't believe you understand what he asks.

    There is no way to run some games at 60+ fps with a 280x, and having an evenly paced 30fps with everything on max, is many times preferred to having frame pacing issues with everything on medium and a fluctuating framerate and judder.

    The 30Hz trick doesn't work man, but most games can be run either with double vsync from RadeonPro, or you can use a trick and have a 50Hz refresh that will drop the performance requirements significantly.

    If you tell me the specific title, we could even share settings.
     
  6. OnnA

    OnnA Ancient Guru

    Messages:
    17,793
    Likes Received:
    6,691
    GPU:
    TiTan RTX Ampere UV
    Optimal for PC is 45-60 FPS and for Fast Paced Shooters => 75FPS
    And some kind of Half rate refresh is in Forza Horizon 3 DX12. (37/74 FPS)

    Maby you should try RadeonPRO ?
     
    Last edited: Dec 4, 2016
  7. mtrai

    mtrai Maha Guru

    Messages:
    1,183
    Likes Received:
    374
    GPU:
    PowerColor RD Vega
    Naw did not understand from the OP but his second post made it clear those few details made all the difference.
     
  8. sammarbella

    sammarbella Guest

    Messages:
    3,929
    Likes Received:
    178
    GPU:
    290X Lightning CFX (H2O)
    Which Nvidia GPU owners? Ppl coming from consoles? :3eyes:

    If you consider that PS4 has "smoothness" you should play a little more in PS4 and read the digital Foundry analysis of The Witcher 3, his 1.10 patch and Blood and Wine expansion review.

    I own a PS4 and i can say the "locked 30 FPS" in PS4 is a fairly tale even on exclusive games like Bloodborne.In Xbox One the situation is not better, Digital Foundry Fallout 4 review found a world record dip to ZERO FPS in a specific point playing on Xbox One.

    To get a good 30 FPS cap i will use RTSS.
     
  9. kaputt

    kaputt Guest

    Dude, you're a real hero! Now it's running flawlessly at 30 FPS! So much time spent looking for a solution and it is so simple. This is so great, I can't thank you enough!

    I tried with The Witcher 3 and Rise of the Tomb Raider, both are running fantastic now at 30 FPS. Those were the titles that I had the biggest issues.

    What about this trick to run at 50Hz? How does it work? Right now the double vsync is perfect for me, but maybe this other trick can prove useful in another game.

    Thanks a lot!
     
  10. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    No problem man. We should thank japamd and our lucks for RadeonPro still working :nerd: As for Double Vsync, sometimes I find that the frame pacing is better just with that, and not with a third party extra frame limiter involved. I run Deus Ex like that.

    The 50Hz trick is a bit more complicated, but it helps with a lot of games. The issue it has is that games generally switch resolutions from the one you have on your desktop, but they rarely switch refresh rates. Even games that allow you to change the refresh rate, will give you 60Hz if your desktop is set at 60Hz. What I do is that I use a 50Hz bat file that will set the desktop refresh to 50Hz as the "Launcher" for my games using RadeonPro, and a 60Hz bat file as the "Post-finish" script to restore the proper refresh rate once I'm done with the game.

    You need to unlock the 50Hz resolutions from CCC (Home --> Preferences --> Radeon Additional Settings --> HDTV Support);

    [​IMG]


    You also have to install 12Noon Display Changer and make sure it's installation folder is in your system's PATH.

    You can find your system's PATH variable by right clicking on the Start Button and selecting System --> Advanced System Settings on the left --> Advanced tab --> Environment Variables button --> Select the Path line from "System Variables" and press Edit. The 12noon Display Changer folder should be in there (default is C:\Program Files (x86)\12noon Display Changer), if it's not, add it.

    [​IMG]


    This is necessary to allow you to invoke the program from any place using the command line.

    After that is set, restart your system.

    You can now invoke dc64.exe from anywhere. Go to the folder where the .exe of the game you want to run at 50Hz is. Create two new text files (preferably using Notepad++) named 50Hz.bat and 60Hz.bat. The names can be whatever you like, the extension has to be .bat. I name them like that for convenience.

    Make the contents of the files look like this:

    50Hz.bat
    Code:
    @echo off
    dc64 -refresh=50
    timeout /t 2 /nobreak
    start YOUR_GAME.exe
    60Hz.bat
    Code:
    @echo off
    dc64 -refresh=60
    Place them where the actual .exe of the game you want to run resides.

    Now add the .exe of the game you want to play to RadeonPro as a profile.

    In the Launcher tab of the game profile:

    [​IMG]


    The tricky part is in this step as RadeonPro doesn't seem to accept .bat files as executables in "Scripts" tab, but it actually does. You just need to type part of the file name in the selection window and it will autocomplete it in a way where you can select it. So in the "Scripts" --> "Post-finish" tab, you press browse and you go to the location of the game's .exe. You won't find the 60Hz.bat file there, because RadeonPro filters the files to only show .exe, .com and .scr files, but you can type "60" in the "File name: " field, and the 60Hz.bat will auto-complete, like this:

    [​IMG]


    Just click with the mouse on the blue highlight that will appear and the correct 60Hz.bat file will be selected.

    Now whenever you start the game from RadeonPro, Display Changer will change your refresh rate to 50Hz and then the game executable will start. Once the game stops, RadeonPro runs the "Post-finish" script and everything is back to 60Hz.

    This is much less complicated than it sounds, since after you install 12noon's Display Changer and understand how .bat files work with RadeonPro, you can do it for every game just by copy-pasting the files in it's folder and changing the .exe name in the 50Hz.bat file.

    The difference between 50Hz and 60Hz for most games is not that dramatic, and this is a nice automated way to ensure proper frame pacing if your card is not constantly hitting 60+ fps, which is required in order to even pretend to have any kind of smoothness at 60Hz.
     
    Last edited: Dec 5, 2016

  11. RealNC

    RealNC Ancient Guru

    Messages:
    4,894
    Likes Received:
    3,169
    GPU:
    RTX 4070 Ti Super
    You should be using both double vsync AND a 30FPS capper. Double vsync makes sure you get correct frame pacing so there won't be micro-stutter, and the 30FPS cap will lessen the input lag impact of double vsync (which is huge.)

    Also make sure to set the "flip queue size" to 1 for AMD's driver, which further decreases input lag. You can use RadeonMod to do that:

    http://forums.guru3d.com/showthread.php?t=403389

    It's really HIGHLY recommended to do this.

    If you do all that, your game is going to be way more responsive :)
     
    Last edited: Dec 5, 2016
  12. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    How will the cap in addition to the double vsync, reduce input lag?
     
  13. RealNC

    RealNC Ancient Guru

    Messages:
    4,894
    Likes Received:
    3,169
    GPU:
    RTX 4070 Ti Super
    It prevents the game from piling up multiple buffered frames. At 30FPS double vsync, you can get over 133ms worth of buffered frames. This is commonly referred to as "vsync backpressure."

    Whether this is the case or not also depends on the game. Most games don't try to prevent this from happening, so a frame cap is generally recommended.

    It's easily verifiable if this helps or not. Just use double vsync without a cap and play a game that has mouse look (like an FPS game.) Then enable a 30FPS cap. The mouse look is going to be less "floaty."

    If you use a cap that's just slightly below your vsync rate, you get the maximum effect from this. For a 59.94Hz mode (TVs and many monitors use this rate) with double vsync (effective vsync rate is 29.97Hz in this case), a cap of 29.969FPS can be used (the latest RTSS version now supports this through hidden profile settings.)
     
    Last edited: Dec 5, 2016
  14. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    That sounds like it makes sense, although in the games that I use the double vsync, I'm usually close to the cap. In Deus Ex, for example, I can't feel a difference between double vsync plus cap, or with no cap.

    How can I access the hidden RTSS settings? I'm curious to try.
     
  15. thatguy91

    thatguy91 Guest

    The human visual system can't process changes as quickly as 1/144 of a second. It's actually very much significantly less than that. A test that shows a completely different frame to the others is not an effective means, as you can better distinguish the large changes than small changes.

    Most people don't know this, but a LOT of what you see visually isn't actually what is there, your brain fills in the blanks. This is how illusions work, and also how you may think you see something briefly that isn't actually there (particularly if you are tired). The framerate of games is noticeable more so because of the way it is presented rather than you actually being able to see it. The aim of Freesync and G-sync is to overcome this to some extent, but doesn't truly match actuality. If they perfected the screen presentation 60 fps would be more than enough to cover everyone's perceptive capability. I know some people will argue with this, but if so you need to re-read what I said :). The main fallacy of the representation on the screen isn't the speed at which it is presented, it's the method.
     

  16. RealNC

    RealNC Ancient Guru

    Messages:
    4,894
    Likes Received:
    3,169
    GPU:
    RTX 4070 Ti Super
    Try 29FPS cap. It will be more clear then (but this will give a frame skip every second.)

    You need to edit the profile file. Unwinder has not added this to the GUI. Also, it breaks the GUI (the FPS cap box.)

    To set this globally, edit the "Global" file (in the "Profiles" directory where you installed RTSS) while RTSS is NOT running and use:

    Code:
    [Framerate]
    Limit=2996
    LimitDenominator=100
    This caps to 29.96FPS.

    Note that this isn't specific to double vsync. 60Hz vsync behaves the same, as does 120Hz vsync.

    Also note that the effect might not be satisfactory until you set flip queue size to 1 (as mentioned in my initial post above.)
     
  17. kaputt

    kaputt Guest

    Wow, this is a nice guide, thanks a lot for thw effort. I'll try this when I'm home, it can be really useful for some game that doesn't have really severe drops.

    This stuff is truly awesome, I thought I could never reach console level of smoothness at 30 FPS on PC, but I was so wrong. Tomb Raider now runs amazingly, I'll have to play the game again without the hiccups that I noticed in my first playthrough. It's awesome that now I'm even able to raise the graphical settings of those games even more, before I thought that lowering the settings would help with the stutters, but now I see that it was just a placebo, the bad pacing was the sole responsible.

    Nice tip, thanks man! I did noticed a tiny bit of lag, but it didn't bother me at all, because I play with a controller. This will improve the experience even further!
     
    Last edited by a moderator: Dec 5, 2016
  18. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    I tried the CAP with RTSS the way you describe, it's actually worse performance wise than the "simple" double vsync. It depends on the game and the performance of the card in each I guess. The Flip Queue size is by default at 1 for quite some time now, I believe. AMD has said something to that effect some months ago.
     
  19. RealNC

    RealNC Ancient Guru

    Messages:
    4,894
    Likes Received:
    3,169
    GPU:
    RTX 4070 Ti Super
    It probably does. Never seen a performance hit myself though.
     
  20. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    8,125
    Likes Received:
    969
    GPU:
    Inno3D RTX 3090
    Ok I tried it again via RadeonPro (the game crashes if I try both RTSS and RP at the same time). RadeonPro has a bug where it detects double the framerate, but the limiter works. It might be my idea, but when I set it to "60" (which is actual 30), the mouse lag is lessened.

    EDIT: Definitely not my idea. It is indeed much less. RP allows you to set the limiter and vsync etc on the fly, and with the limiter on it's immediately felt. Thanks dude! I don't know how this slipped the cracks all these years! :D It should also work for games that are in higher frame rates with normal vsync, right?
     
    Last edited: Dec 5, 2016

Share This Page