[SOLVED] Limit FPS without breaking FreeSync or GSync

eli150

Distinguished
Jul 7, 2013
255
5
18,795
Hey guys,

What is the best way to limit fps without causing tearing in game? I had issues with both AMD and Nvidia (I now own an AMD gpu).
RTSS seems to do the best job at locking the frame rate but it causes tearing. In game limiters also seem to have the same issues.
I guess that leaves me with Chill. Is it ok to use Chill as a frame rate limiter with a min = max values? I tried that.. sometimes it works great but sometimes I can still see tearing.
Is there anything I'm missing? Is there a better way to limit fps?
I have a 144hz freesync (gsync compatible monitor) and I really like to play some games at 60fps. Especially those I cant really get 144fps.

I hope you guys can help me and tell me something I don't already know. Any suggestion in order to solve this issue will be much appreciated :)
Thanks in advance!
 
Solution
What is the best way to limit fps without causing tearing in game?
Enable vsync, enable variable refresh rate (freesync/adaptivesync/gsync basic/whatever other names some brands may slap on it) and let the game run at whatever frame rate it will run.

The whole point of all new variable refresh rate tech is to let games run smoothly at whatever frame rates they are able to achieve anywhere between minimum and maximum variable refresh rates, which is usually something like 48-144 for 144Hz monitors. You shouldn't need to worry about "locking the frame rate" unless the game you want to play has issues with variable refresh.

If you really want to hard-cap your games at 60/144Hz, then disable variable refresh rate, set your monitor...

eli150

Distinguished
Jul 7, 2013
255
5
18,795
RTSS has scanline sync
How do I use it? Also RTSS stopped showing me the monitor data.. no idea why. Maybe you can tell me.. It seems to be displaying on AMD Radeon Software sometimes for some reason.
I also did some research but Im still not sure what is the best option.
  1. RTSS
  2. Radeon Chill (min=max?)
  3. FRTC

What do you recommend?
 

InvalidError

Titan
Moderator
What is the best way to limit fps without causing tearing in game?
Enable vsync, enable variable refresh rate (freesync/adaptivesync/gsync basic/whatever other names some brands may slap on it) and let the game run at whatever frame rate it will run.

The whole point of all new variable refresh rate tech is to let games run smoothly at whatever frame rates they are able to achieve anywhere between minimum and maximum variable refresh rates, which is usually something like 48-144 for 144Hz monitors. You shouldn't need to worry about "locking the frame rate" unless the game you want to play has issues with variable refresh.

If you really want to hard-cap your games at 60/144Hz, then disable variable refresh rate, set your monitor to whatever frame rate you want the game to run at and run your games with vsync on. There you go, 60fps if you set your monitor to 60Hz.
 
Solution

eli150

Distinguished
Jul 7, 2013
255
5
18,795
Enable vsync, enable variable refresh rate (freesync/adaptivesync/gsync basic/whatever other names some brands may slap on it) and let the game run at whatever frame rate it will run.

The whole point of all new variable refresh rate tech is to let games run smoothly at whatever frame rates they are able to achieve anywhere between minimum and maximum variable refresh rates, which is usually something like 48-144 for 144Hz monitors. You shouldn't need to worry about "locking the frame rate" unless the game you want to play has issues with variable refresh.

If you really want to hard-cap your games at 60/144Hz, then disable variable refresh rate, set your monitor to whatever frame rate you want the game to run at and run your games with vsync on. There you go, 60fps if you set your monitor to 60Hz.
But is that really the best option? Ive heard that reducing the refresh rate of your monitor, in my case from 144hz to 60hz, is not recommended. Is there truly no option to limit the fps without "breaking" my freesync and causing tearing?
 

InvalidError

Titan
Moderator
But is that really the best option? Ive heard that reducing the refresh rate of your monitor, in my case from 144hz to 60hz, is not recommended. Is there truly no option to limit the fps without "breaking" my freesync and causing tearing?
The whole point of variable sync is to accommodate the variable frame times that most games run into. If you manually frame-cap games to whatever your CPU+GPU can maintain 99+% of the time, then your fancy monitor becomes no different than manually setting the monitor refresh rate to the same fixed value and using plain vsync. You are basically throwing away the main reason adaptive sync exists in the first place.

Tearing happens when there is no synchronization between the game updating a frame buffer and the monitor being refreshed. Turning on any form of vsync make it impossible since every monitor refresh cycle will only be fed entire frames.
 

eli150

Distinguished
Jul 7, 2013
255
5
18,795
The whole point of variable sync is to accommodate the variable frame times that most games run into. If you manually frame-cap games to whatever your CPU+GPU can maintain 99+% of the time, then your fancy monitor becomes no different than manually setting the monitor refresh rate to the same fixed value and using plain vsync. You are basically throwing away the main reason adaptive sync exists in the first place.

Tearing happens when there is no synchronization between the game updating a frame buffer and the monitor being refreshed. Turning on any form of vsync make it impossible since every monitor refresh cycle will only be fed entire frames.
I gotta say it's good to talk to someone I can actually learn from. Thanks dude
So you are basically saying the only way to lock my game to 60fps without tearing is to switch my refresh rate to 60hz? I just want to play the game at a steady frame rate
 

InvalidError

Titan
Moderator
So you are basically saying the only way to lock my game to 60fps without tearing is to switch my refresh rate to 60hz? I just want to play the game at a steady frame rate
That is one of the simplest ways to do it.

The simplest way would be to use adaptive sync the way it is meant to be used: let the game refresh the screen whenever a new image is ready up to the monitor's max refresh rate. It should work even better than fixed vsync as long as the game does not drop below the monitor's minimum variable sync rate. If the game drop below minimum refresh rate, you end up with a skipped frame either way and that is when you see things like micro-stutters.
 

eli150

Distinguished
Jul 7, 2013
255
5
18,795
That is one of the simplest ways to do it.

The simplest way would be to use adaptive sync the way it is meant to be used: let the game refresh the screen whenever a new image is ready up to the monitor's max refresh rate. It should work even better than fixed vsync as long as the game does not drop below the monitor's minimum variable sync rate. If the game drop below minimum refresh rate, you end up with a skipped frame either way and that is when you see things like micro-stutters.
I think that when it goes over 144 I can see tearing because it's above my monitor's freesync range which is 48-144. When that happens I guessed my best option is vsync so I used that. The thing is, in some games I dont need the max frame rate because 60fps is more than enough and I prefer the game to stay that way instead of going from 60 to 100 for example. There has to be a correct way to limit the frame rate with freesync working and eliminating tearing.. Maybe use a fps range with chill? or frtc?
 

InvalidError

Titan
Moderator
There has to be a correct way to limit the frame rate with freesync working and eliminating tearing.. Maybe use a fps range with chill? or frtc?
If you see tearing with vsync/adaptive sync/gsync enabled, something isn't configured correctly as the whole point of having any flavor of sync enabled is to eliminate tearing.

When adaptive sync of whatever flavor is enabled and working properly, the game frame rate should be capped by the monitor's max refresh rate unless you enable triple-buffering which simply discards frames when a newer frame becomes available before the next newest gets a chance to go out to screen. You still shouldn't be seeing any tearing.

If your monitor is glitching under some circumstances, as many earlier adaptive/g-sync monitors did, then you can use the GPU drivers or in-game frame rate limits to keep it under the problematic range.
 

eli150

Distinguished
Jul 7, 2013
255
5
18,795
If you see tearing with vsync/adaptive sync/gsync enabled, something isn't configured correctly as the whole point of having any flavor of sync enabled is to eliminate tearing.

When adaptive sync of whatever flavor is enabled and working properly, the game frame rate should be capped by the monitor's max refresh rate unless you enable triple-buffering which simply discards frames when a newer frame becomes available before the next newest gets a chance to go out to screen. You still shouldn't be seeing any tearing.

If your monitor is glitching under some circumstances, as many earlier adaptive/g-sync monitors did, then you can use the GPU drivers or in-game frame rate limits to keep it under the problematic range.
Ok so it doesn't matter if Im using an fps limiter or not if it's wihthin my freesync range (48 -144) I shouldn't see tearing?
If that's the case I would just return to using Rtss when I want to play a game at 60 fps. Like RDR2 for example. But as I mentioned it causes tearing and sometimes causing longer loading.. also the monitor system doesn't seem to be working properly. Is this some known issue with Amd that I dont know about? Freesync related or rtss related?
 

eli150

Distinguished
Jul 7, 2013
255
5
18,795
If anybody is as frustrated as I am.. there doesn't seem to be a definitive answer. It's different for every game.
I can confirm forcing freesync from the game's profile in radeon software and turning on chill with a min val of 60 and max of 62 seems to be working well without tearing. Sadly I haven't figured out RTSS scanline sync but I've heard it can do wonders even for displays that dont support freesync or gsync. Using RTSS framerate limit seem to be breaking freesync and actually cause some games to have longer loading screens for some reason.