FREESYNC HZ Counter Mismatch based on FPS Limiter?

Talk about AMD's FreeSync and VESA AdaptiveSync, which are variable refresh rate technologies. They also eliminate stutters, and eliminate tearing. List of FreeSync Monitors.
Post Reply
StanleyCKC
Posts: 2
Joined: 07 Mar 2020, 01:34

FREESYNC HZ Counter Mismatch based on FPS Limiter?

Post by StanleyCKC » 07 Mar 2020, 01:52

FREESYNC HZ Counter Mismatch based on FPS Limiter?

Hey guys, So I recently got a LG27GL850 coming from a CHG70 and an old XB241H Gsync Module monitor and I'm using a Nvidia RTX 2070.
I've noticed something interesting after testing all three of these monitors.
Gsync seems to be 1:1 HZ to Framerate perfect. There is no mismatch going on and everything is working as intended.

Freesync on the other hand seems to have HZ counter mismatch that bounces around when FPS Cap is applied. For example, it could be 90FPS Capped and it could bounce anywhere from 80,to 88,89,90,91,92, and 100.

When the FPS is Uncapped the HZ counter seems to be much more accurate to whatever my FPS currently is.

Then I noticed that it is only when using In-Engine limiters or CPU level limiters such as RTSS is what causes the HZ mismatch even though in RTSS's case, gives rocksolid frametimes. (Note that this applies to games, for whatever reason, running Nvidia Pendulum or Amd Windmill doesn't cause this issue)

When I use Nvidia Inspector "Limiter V2 - Allow All", which I believe is a Driver level limiter, the frametimes become much more chaotic but the HZ rate is a perfect 1:1. However, this comes at the cost of input latency as it increases pretty dramatically compared to RTSS and In-Engine limiters making it pretty unusable and somewhat defeats the purpose of adaptive sync.

Does anyone know why this might be happening? Why does Rocksolid RTSS frametimes cause such mismatch in HZ counter while a Driver level limiter with chaotic frametimes give perfect HZ counter?
Is the Hz Mismatch an issue? Will I get screen tearing under this situation using an RTSS limiter?
I personally don't notice any screen tearing but I'm probably the worst person to ask to spot it. I've tried to use my phone camera to check but couldn't really figure it out.

I'd appreciate it if someone could help me out, thanks!

User avatar
jorimt
Posts: 1414
Joined: 04 Nov 2016, 10:44
Location: USA

Re: FREESYNC HZ Counter Mismatch based on FPS Limiter?

Post by jorimt » 07 Mar 2020, 09:34

StanleyCKC wrote:
07 Mar 2020, 01:52
FREESYNC HZ Counter Mismatch based on FPS Limiter?

[...]

I'd appreciate it if someone could help me out, thanks!
Long story short, ignore it; no matter what it says, it's not having an effect on your set FPS limit (or fully reflecting) actual G-SYNC performance.

In most cases on G-SYNC Compatible monitors, the meter was originally created and tuned for native FreeSync operation, which has different driver implementation (AMD VRR) than the software variant of G-SYNC (Nvidia VRR). This difference likely creates more counter misreads than if you were using an AMD GPU w/FreeSync on that same monitor.

Use a system-side FPS counter for a more accurate current FPS/Hz readout instead, and only use that monitor's built-in meter to verify whether G-SYNC is currently engaged, as that is the only thing it can tell you that a system-side readout cannot: static = fixed refresh, fluctuating = variable refresh (where what the fluctuating number is at any given point in this case not mattering as much as whether it is fluctuating).
(jorimt: /jor-uhm-tee/)
Author: Blur Busters "G-SYNC 101" Series

Displays: Acer Predator XB271HU / LG 48CX OS: Windows 10 MB: ASUS ROG Maximus X Hero CPU: i7-8700k GPU: EVGA RTX 3080 FTW3 UG RAM: 32GB G.SKILL TridentZ @3200MHz

StanleyCKC
Posts: 2
Joined: 07 Mar 2020, 01:34

Re: FREESYNC HZ Counter Mismatch based on FPS Limiter?

Post by StanleyCKC » 07 Mar 2020, 16:59

jorimt wrote:
07 Mar 2020, 09:34
StanleyCKC wrote:
07 Mar 2020, 01:52
FREESYNC HZ Counter Mismatch based on FPS Limiter?

[...]

I'd appreciate it if someone could help me out, thanks!
Long story short, ignore it; no matter what it says, it's not having an effect on your set FPS limit (or fully reflecting) actual G-SYNC performance.

In most cases on G-SYNC Compatible monitors, the meter was originally created and tuned for native FreeSync operation, which has different driver implementation (AMD VRR) than the software variant of G-SYNC (Nvidia VRR). This difference likely creates more counter misreads than if you were using an AMD GPU w/FreeSync on that same monitor.

Use a system-side FPS counter for a more accurate current FPS/Hz readout instead, and only use that monitor's built-in meter to verify whether G-SYNC is currently engaged, as that is the only thing it can tell you that a system-side readout cannot: static = fixed refresh, fluctuating = variable refresh (where what the fluctuating number is at any given point in this case not mattering as much as whether it is fluctuating).
Hey Thanks for the reply. So I guess I should just ignore it as long as its fluctuating.

However, what about in cases where the HZ Counter caps out at 144hz? For Example using RTSS On CS GO, setting it to anything over 128 limit will cause the HZ Counter to cap out at 144hz and the closer to the 144cap the longer the HZ counter stays on 144hz. Setting the RTSS limit to 140 will pretty much lock the HZ counter to 144hz while occasionally dropping down to 135-138hz for a split second. Setting the limit to 138 has a more 50/50 split between when its capped at 144hz and when its fluctuating below that.

So in the case where the HZ Counter caps out at 144hz does that mean adaptive sync is no longer engaged?
If I have V-sync enabled would it then be using V-sync in that case, causing additional input lag?
Or, if my FPS limit is still lower than the 144hz Cap will it simply not engage adaptive sync because the HZ counter capped out at 144hz but also not switch to V-sync which would mean I get tearing?

User avatar
jorimt
Posts: 1414
Joined: 04 Nov 2016, 10:44
Location: USA

Re: FREESYNC HZ Counter Mismatch based on FPS Limiter?

Post by jorimt » 07 Mar 2020, 17:27

StanleyCKC wrote:
07 Mar 2020, 16:59
So in the case where the HZ Counter caps out at 144hz does that mean adaptive sync is no longer engaged?
If both the system-side FPS readouts (Afterburner, etc) AND the monitor Hz counter show a static "144," yes, however, if only the monitor Hz counter shows a static "144," whereas the system-side FPS readout still shows a number below that, no; it's a false reading on the monitor Hz counter's part in these instances.

I doubt these built-in monitor refresh rate meters were originally intended to work with G-SYNC Compatible mode on (what were originally only) FreeSync monitors.

Also, just to note, I have a native G-SYNC monitor w/module (XB271HU), and while its built-in Hz counter isn't nearly as sporadic as what I've heard reported (you aren't the first to ask this on these forums) with FreeSync monitors in G-SYNC Compatible mode, even it jumps to "144" (@144Hz) occasionally when the system-side FPS readouts don't. From my experience, the Hz meter is approximated and maybe even possibly prone to changing reporting behavior just from OS and/or GPU driver updates.

So, again, I'd take it with a grain of salt and rely more on the system-side FPS readouts.
(jorimt: /jor-uhm-tee/)
Author: Blur Busters "G-SYNC 101" Series

Displays: Acer Predator XB271HU / LG 48CX OS: Windows 10 MB: ASUS ROG Maximus X Hero CPU: i7-8700k GPU: EVGA RTX 3080 FTW3 UG RAM: 32GB G.SKILL TridentZ @3200MHz

User avatar
Chief Blur Buster
Site Admin
Posts: 8336
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: FREESYNC HZ Counter Mismatch based on FPS Limiter?

Post by Chief Blur Buster » 08 Mar 2020, 17:50

StanleyCKC wrote:
07 Mar 2020, 16:59
However, what about in cases where the HZ Counter caps out at 144hz?

That's normal. Monitors can't tell what frame rate the GPU is running at.

At high frame rates with frame rates beyond refres hrates, it is possible for multiple frames are essentially spliced into the same refresh cycle. Monitors can't tell.

If you have seen high speed videos at www.blurbusters.com/scanout then refresh cycles are delivered onto a monitor's screen in a top-to-bottom manner (the 'scan out'). This is also how it's done over the cable. But during VSYNC OFF, or during LFC operation, you can have a very different number of frames than refresh cycles.

Image

During VSYNC OFF, one refresh cycle may contain multiple frameslices. Monitors can only count refresh cycles, not frames.

The fps counter and the Hz counter only are in better sync ONLY during VSYNC ON mode (non-VRR mode, non-VSYNC OFF mode, not Fast Sync, not Enhanced Sync), and only becomes identical if both sides are using the exact same averaging algorithm.

Any use of any sync technology other than VSYNC ON, will always create divergences between Hz counters (monitor side refresh cycle counting, misnamed as fps counters built into monitors) and fps counters (GPU side frame counting)

Also, sometimes the averaging math is different. Sometimes one side is instantaneous and sometimes one side is averaging. During fluctuating frame rates, the 0.1sec framerate average can be totally different from the 1sec framerate average.

Even if you synchronize fully using VSYNC ON (non-VRR, no Fast Sync, no Enhanced Sync), there is no way to tell if the Hz counter (monitor side) and the fps counter (GPU side) is using the same average algorithm.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

       To support Blur Busters:
       • Official List of Best Gaming Monitors
       • List of G-SYNC Monitors
       • List of FreeSync Monitors
       • List of Ultrawide Monitors

Post Reply