Freesync broken 2019 megathread

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
Synoxia
Posts: 12
Joined: 28 Jun 2019, 10:22

Freesync broken 2019 megathread

Post by Synoxia » 28 Jun 2019, 10:31

Freesync is broken for me with current drivers, seeking for users with same problem.
Correct Freesync behaviour:
https://www.youtube.com/watch?v=FAFgxt2nAU4

What happens:
Anything that isn't AMD FRTC will break freesync, producing this behaviour:

https://www.youtube.com/watch?v=4vNbAACtlcw RTSS cap to 43 fps
https://www.youtube.com/watch?v=6ret-aP-OU0 in-game engine framelimiter 30 fps


using Chill minimum will break freesync, in-game framelimiter will break freesync, rtss will break freesync, probably fraps and anything else will break freesync.

Now something interesting.

If you use RTSS cap first, alt tab into the game and then use the overlay to FRTC to -1 fps of your target framerate and then put the slider to the exact RTSS cap (example RTSS 50fps > 49fps FRTC then 50fps)

This happens:
https://www.youtube.com/watch?v=ttIRfzQwTXE


Perfect framepacing, perfect refresh rate at the expense of severe input lag (FRTC).


Does now FRTC do a good job of framepacing when paired with freesync regardless of what MSI AB OSD shows? .
Is basically the advice of using freesync on + vsync on + RTSS 142fps now obsolete? How to achieve perfect image and frametimes with least input lag now?
How many users experience this behaviour?

AMD support seems to have recognized the issue and reported to their engineers.


Hardware info:
Monitor xg2401, tried 2 different displayport cable
Vega 64 strix, tried various bioses and drivers, now 19.6.3
CPU Ryzen 2700x
Motherboard Asus CH7 WIFI x470
Windows 10 1903 x64, 1803/1809 show the same behaviour

Kamil950
Posts: 5
Joined: 15 Jul 2017, 11:25

Re: Freesync broken 2019 megathread

Post by Kamil950 » 01 Jul 2019, 19:30

Did you try Radeon Chill with MinFPS == MaxFPS (maybe for example at least 2, 3 or 4 FPS less than Hz of monitor)??

Chill is recommended to use with FreeSync by creator of Chill maybe.

Chill can sometimes reduce input lag maybe. It works different than FRTC.

https://www.reddit.com/r/Amd/comments/a ... e/eeqphae/

I found it here - https://www.reddit.com/r/Amd/comments/a ... e/eerb61q/

Link to original comment on YouTube can be find here and link to other video about Chill and lower input lag - https://www.reddit.com/r/Amd/comments/a ... e/eereok4/

Sorry for my English etc. You can just read not my comments from these links above if you want understand Chill better.

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

Re: Freesync broken 2019 megathread

Post by Chief Blur Buster » 05 Jul 2019, 10:56

Time to open one of the famous Blur Busters Pandora Boxes.

<Pandora Box>

One Of The Many VRR-Broken Explanations

Blame is hugely varied (game fault, driver fault, display fault, operating system), but I want to help explain better:
Here's a simplified example of imperfect VRR:

Even though VRR eliminates so much microstutter:

VSYNC ON: 16ms....16ms....16ms....16ms....33ms(missed VSYNC)....16ms....16ms....16ms

The wonders of variable refresh rate means there's no such thing as a missed refresh cycle:

FreeSync/GSYNC: 16ms....16ms....16ms....16ms....17ms(delayed refresh)....16ms....16ms....16ms

That's only a +1ms stutter instead of a +16ms stutter! Look at this animation demo of FreeSync/GSYNC.
But in the real world it's often more "jittery", like:

Realistic Situations: 15ms....18ms....17ms....19ms....24ms(delayed refresh)....13ms....16ms....19ms

But wait! It gets more complicated!

<simultaneously>
Game Time: 15ms....18ms....17ms....19ms....24ms(delayed refresh)....13ms....16ms....19ms
Photon Time: 16ms....17ms....19ms....16ms....22ms(delayed refresh)....14ms....16ms....17ms
</simultaneously>

Yessiere, I've seen gametime diverge away from photontime (pixel light hitting human eyes). It's still better than non-VRR, but it's poorly optimized VRR.
- Poorly optimized drivers.
- Poorly optimized operating system.
- Poorly optimized games.
- Fluctuations in rendertimes.
- Power management interference (amplifies the fluctuations in rendertimes)
- All the above happening simultaneously.
- Etc.
All those inaccuracies build up. So button-to-gametime diverges away from button-to-photons, creating an additional microstutter error margin in the VRR framepacing chain.

Multiply the numbers by 10x even, if you want -- for lower frame rate situations. And when divergences get big enough, VRR is sometimes erasing only like 50%-90% of human-visible stutters instead of erasing 98-99% of stutters.

Unfortunately, that's what is happening sometimes.

There you go! The complexities of imperfect VRR.

</Pandora Box>
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Synoxia
Posts: 12
Joined: 28 Jun 2019, 10:22

Re: Freesync broken 2019 megathread

Post by Synoxia » 12 Jul 2019, 16:09

Hey you seem very knowledgeable, i am not technically advanced as you butwhile agree that broken drivers/erratic game behaviour such as latest assassin creeds (i am not going into this, you know better than me how poorly optimized those are) can mess up VRR, i still don't understand why this user https://www.youtube.com/watch?v=FAFgxt2nAU4 has a better freesync behaviour than me. I want to know if i have to change monitor or gpu...

EDIT: https://community.amd.com/thread/239945 here you can see another user with the same erratic behaviour... at 20fps in 18.6.1 his LFC behaviour is correct or atleast better than mine. I might test this driver and report back

User avatar
fenderjaguar
Posts: 168
Joined: 19 Apr 2014, 11:57

Re: Freesync broken 2019 megathread

Post by fenderjaguar » 13 Jul 2019, 20:17

Chief Blur Buster wrote:- Poorly optimized drivers.
- Poorly optimized operating system.
- Poorly optimized games.
- Fluctuations in rendertimes.
- Power management interference (amplifies the fluctuations in rendertimes)
- All the above happening simultaneously.
- Etc.
All those inaccuracies build up. So button-to-gametime diverges away from button-to-photons, creating an additional microstutter error margin in the VRR framepacing chain.

Multiply the numbers by 10x even, if you want -- for lower frame rate situations. And when divergences get big enough, VRR is sometimes erasing only like 50%-90% of human-visible stutters instead of erasing 98-99% of stutters.

Unfortunately, that's what is happening sometimes.

There you go! The complexities of imperfect VRR.
Best argument for highest refresh possible with nosync, and ditch VRR (it's too overly complex to implement, and the issues it seeks to solve are naturally ironed out by higher refresh with nosync anyway).

VRR can in some cases amplify the perception of engine related stuttering, where it occuurs. I have been saying this since I got the prototype g-sync monitor.

Kamil950
Posts: 5
Joined: 15 Jul 2017, 11:25

Re: Freesync broken 2019 megathread

Post by Kamil950 » 16 Jul 2019, 06:00

Synoxia wrote:(...)

EDIT: https://community.amd.com/thread/239945 here you can see another user with the same erratic behaviour... at 20fps in 18.6.1 his LFC behaviour is correct or atleast better than mine. I might test this driver and report back
That user wrote new message that new drivers (19.6.3) fixed his problem if I understand it correctly.

https://community.amd.com/thread/239945#comment-2919453
Today I tried "19.6.3" driver and "48-144 hertz" (actual range of my monitor) FreeSync range and "AMD Enhanced Sync" feature. In the past, when I did driver update with 48-144 hertz FreeSync range, there was excessive tearing and stuttering in 40-50 FPS range. Now these problems seem to have gone away with driver update.

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

Re: Freesync broken 2019 megathread

Post by Chief Blur Buster » 26 Jul 2019, 14:07

VRR helps a lot, but there's a lot of weak links in the chain.

It may be time for me to write one of my famous "Millisecond Matters" articles about GSYNC/FreeSync imperfect framepacing eventually

For those who don't *quite* understand how GSYNC/FreeSync magically eliminate stutter -- animation demo at http://www.testufo.com/vrr as well as older articles in the past -- GSYNC Previews, and worked with Jorim for Blur Busters GSYNC 101. I've posted an example of How Does GSYNC Fix Stutters.

Image

Image

For 60Hz, instead of a 16.7ms-16.7ms-16.7ms-33.3ms-16.7ms-16.7ms-16.7ms because a frame missed a VSYNC, the magic of VRR means frames can framepace slightly imperfectly, like 16.3ms-16.9ms-16.8ms-15.5ms-17.1ms-16.4ms. The monitor waits for the game engine to finish rendering. Present() simply triggers the monitor to refresh immediately. No such thing as a single-framedrop on a GSYNC/FreeSync monitor. Those millisecond-league stutters are much more invisible than a big 33ms-surge stutter. Stutters gone. No framerate-change stutters -- framerates can gradually change stutterlessly. As you can see in simulation at http://www.testufo.com/vrr

In basic science/physics:
GSYNC/FreeSync eliminates stutter by keeping gametime in sync with photontime, despite erratically-arriving refresh cycles.

gametime = the internal game clock (in microseconds)
photontime = the actual time light from a pixel hits the human eyes (in microseconds)

Ideally, gametime needs to stay perfectly relative to photontime, as much as possible.

- Divergences of gametime away from photontime because of fluctuating rendertimes
- Divergences of gametime away from photontime because of VRR driver bugs
- Divergences of gametime away from photontime because of LFC misprediction (erratic frametime causes new frame to arrive while monitor still repeat-refreshing)
- Divergences of gametime away from photontime because of engine issues
- Divergences of gametime away from photontime because of background power management (I've seen 8ms divergences!!! !!! !!!)
- Divergences of gametime away from photontime because of operating system bugs
Etc.

VRR is great at erasing stutters. And some technologies (GSYNC Native) has superior compensation than FreeSync in masking many of these divergence factors. It can take only one weak link to bring stutter back to a VRR monitor.

Game will compute new frames (object positions) based on an internal gametime which often tends to stay in sync with frametimes, but they can diverge -- and diverge massively -- such as above factors. Enough that certain games are not very GSYNC-friendly.

As Blur Busters Law, a reminder, 1ms = 1 pixel per 1000 pixels/sec -- this math applies to stutter too. A sudden transient 3ms divergence between gametime-to-photontime (for ANY reason) during 5000 pixels/sec horizontal panning on a 2560x1440 monitor creates approximately a 6-pixel stutterjump on a GSYNC or FreeSync monitor away from the ideal. THAT can become visible despite GSYNC/FreeSync. The math for this use case is (5000pixel/second) / (2560pixel) * (0.003second), which if you know simple math, results in a number close to 6 pixels. That's your stutter-jump distance caused the gametime-vs-photontime divergence.

The bottom line is that milliseconds matters in this specific case, especially for 240Hz GSYNC. A 2ms divergence in gametime:photontime is 50% of a 240Hz refresh cycle. As refresh rate gets higher, motion clarity gets sharper, and there's less motion blur to hide tiny microstutters. (Just like how ULMB amplifies visibility of microstutter). And now we have strobed variable refresh rate (ELMB-Sync), which amplifies visibility of this.

The lower-level employees at all the major manufacturer sometimes do not understand stutter mathematics fully enough to comprehend this -- e.g. driver developer versus PC game programmer versus hardware designer. They are brilliant at their own specialities. But just like SpaceX has rocket engineers, the turbopump engineer might not be an expert in IMU-electronics. And the gimball engineer might not be an expert in rocket fuel mixer nuances. Different people work on different pieces of GSYNC and FreeSync -- the game developer might not be aware how critical it is correctly keep gametimes as much in relative sync with Present() times.

Blur Busters often fills that role at display and display-related vendors/manufacturers -- I've visited several this year so far -- to fill many knowledge gaps at their businesses! For those vendors/manufacturers unaware -- services.blurbusters.com is something that Blur Busters now does too.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply