For a while already I had a question regarding how to limit FPS in games reliably, especially when they are in the background.
My current specs:
According to AMD document https://www.amd.com/en/products/software/adrenalin/software-enhancedsync.html, it is recommended to use Enhanced Sync with Freesync while staying below your monitor maximum refresh rate.
What I found out is that without limiting FPS in any way (when it is either uncapped or is capped by game at 144 Hz), I can see a lot of tearing even though the linked document states it should be "minimized". At the same time the Adrenaline setting for FPS limit is unreliable (you can see my tests in the table below).
VSync FRTC Foreground Background Comment
Disabled (-) | No | Uncapped | Uncapped | As expected |
Disabled (-) | Yes | Capped by FRTC | Uncapped | This one goes 100% GPU when in background... and applies the FRTC limit only a few seconds after switching to the game |
Enabled (+) | No | Limited to native refresh rate | Limited to native refresh rate | As expected |
Enabled (+) | Yes | Limited to native refresh rate | Limited to native refresh rate | This setting ignores the FRTC cap, which is not stated anywhere |
Enhanced | No | Uncapped | Uncapped | As expected, but does nothing to minimize tearing... |
Enhanced | Yes | Capped by FRTC | Uncapped | FRTC is ignored while in background and is applied only a few seconds after switching to the game back |
At the same time I noticed that opening in-game Adrenaline overlay changes something as it "reapplies" the settings:
VSync, With FRTC - the FRTC cap is applied correctly when overlay is open in game until the next time the game goes in background
Enchanced Sync, No FRTC - overlay applies native monitor refresh rate limit when in foreground, but does nothing (no limit) when the game in background
There is also Chill setting, but it is a different thing that "reacts" to keyboard and mouse inputs. It is also unreliable in terms that it is ignored by some settings combinations.
That is why my question is how (if even possible) to limit framerate in games reliably?
What settings are recommended?
And how do I report this incorrect behavior to AMD? As their official technical support refused to file a bug report and asked me to do it on my own.