Question about -0.007 than refresh technique on borderless

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Question about -0.007 than refresh technique on borderless

Post by flaviowolff » 08 Jun 2018, 09:22

Hello, all.

I've been reading a lot of the posts from this forum, and it's incredible. You guys are amazingly smart and helpful.

One thing that I couldnt get clear, though (sorry if its been stated somewhere), is whether the -0.007 fps cap technique for vsync with reduced lag will work on borderless window (vsync off), which I believe activates triple buffering.

Which is better overall (pros and cons?):
a) -0.007 refresh rate fps cap with regular vsync + pre-rendered frames = 1 (needed, right?)
b) -0.007 refresh rate cap on borderless window. In thisl case, does the pre-rendered frames = 1 option still apply?:

I'm running a Samsung C24FG70 144hz, using the light probe only for uncapped/unsynced competitive games that run above 144fps.

Thank you very much,

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

Re: Question about -0.007 than refresh technique on borderle

Post by Chief Blur Buster » 08 Jun 2018, 09:51

Context (for other readers): HOWTO: Low Lag VSYNC ON

Just to be clear, it is more accurately "a fractional difference between framerate and Hz". It is not necessarily 0.007.

Some systems need 0.01, other systems need 0.03, others can do 0.007.

The margin is discovered by trial and error on the stutterpatterns (the burst-smooth-burst-smooth) to find a compromise.
- Too loose, and you get regular continuous microstutter.
- Too tight and you get long smooth periods with long bursts of microstutter. (At beat frequency)

So "0.007" is arbitrary, and one needs a proper understanding on why the number varies.

Also, differential can disappear if you use the new (complex) scanline based capping feature.
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!

flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Re: Question about -0.007 than refresh technique on borderle

Post by flaviowolff » 08 Jun 2018, 10:09

Chief Blur Buster wrote:Context (for other readers): HOWTO: Low Lag VSYNC ON

Just to be clear, it is more accurately "a fractional difference between framerate and Hz". It is not necessarily 0.007.

Some systems need 0.01, other systems need 0.03, others can do 0.007.

The margin is discovered by trial and error on the stutterpatterns (the burst-smooth-burst-smooth) to find a compromise.
- Too loose, and you get regular continuous microstutter.
- Too tight and you get long smooth periods with long bursts of microstutter. (At beat frequency)

So "0.007" is arbitrary, and one needs a proper understanding on why the number varies.

Also, differential can disappear if you use the new (complex) scanline based capping feature.
Thank you. I will experiment.

But some questions still persist in my head: does this technique apply to borderless windows (triple buffering by DWM)? If so, pre-rendered frames should be set to 1 or 2?

Thank you,

User avatar
RealNC
Site Admin
Posts: 3741
Joined: 24 Dec 2013, 18:32
Contact:

Re: Question about -0.007 than refresh technique on borderle

Post by RealNC » 08 Jun 2018, 11:54

It works, but using windowed mode defeats the purpose of trying to minimize input lag. If you want this form of triple buffering, use fast sync (nvidia) or enhanced sync (amd), which do exactly this but without adding a whole frame of input lag. Unless of course you don't have a choice (some games just don't support fullscreen.)

With that being said, plain old vsync works best with the -0.01FPS cap trick. Windowed mode, fast sync and enhanced sync usually give microstutter.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Re: Question about -0.007 than refresh technique on borderle

Post by flaviowolff » 08 Jun 2018, 13:03

RealNC wrote:It works, but using windowed mode defeats the purpose of trying to minimize input lag. If you want this form of triple buffering, use fast sync (nvidia) or enhanced sync (amd), which do exactly this but without adding a whole frame of input lag. Unless of course you don't have a choice (some games just don't support fullscreen.)

With that being said, plain old vsync works best with the -0.01FPS cap trick. Windowed mode, fast sync and enhanced sync usually give microstutter.
Hmm, didnt know that triple buffering caused the same microstuttering as fastsync..

Thank you so much.

So, if my rig cant mantain the game at my refresh rate FPS, I will have to choose between tearing (all off), input lag (vsync) or microstutter (fast sync/triple buffering/windowed mode), right?

One last question, if I may: if the game cant keep up with the refresh rate FPS and I choose to use regular vsync to avoid microstutter in exchange for some input lag, should I still set max pre-rendered frames to 1?

User avatar
RealNC
Site Admin
Posts: 3741
Joined: 24 Dec 2013, 18:32
Contact:

Re: Question about -0.007 than refresh technique on borderle

Post by RealNC » 08 Jun 2018, 13:24

flaviowolff wrote:Hmm, didnt know that triple buffering caused the same microstuttering as fastsync.
It's inherent in the logic of how it works. Both DWM (= windowed mode) and fast sync do the same thing: they grab the latest available frame. If that frame happens to be the same as the previous one, it's displayed twice, thus you get micro-stutter due to frame duplication.

The actual implementation is of course different between DWM and fast sync, so you might see different behavior when it comes to stutter. In any event, DWM will add input lag, fast sync will not. Which is why you should prefer fast sync if you want less input lag, unless you're capping your FPS to 0.01FPS below refresh rate, in which case you can just use vsync since in my experience, fast sync produces too much microstutter. Fast sync really works best if you get really high FPS (like 240FPS or more.)
So, if my rig cant mantain the game at my refresh rate FPS, I will have to choose between tearing (all off), input lag (vsync) or microstutter (fast sync/triple buffering/windowed mode), right?
With a -0.01FPS cap, you should be getting the same input lag with both vsync and fast sync. It's DWM (windowed mode) that will increase input lag further.

Of course the perfect solution is g-sync, which was invented to solve exactly this problem. You don't have to choose between tearing, stutter or input lag. It gets rid of all three of those issues.
One last question, if I may: if the game cant keep up with the refresh rate FPS and I choose to use regular vsync to avoid microstutter in exchange for some input lag, should I still set max pre-rendered frames to 1?
A value of 2 might help with performance in that case, but it will increase input lag if the GPU is maxed out. If the FPS drop is not the result of the GPU being completely maxed out, then MPRF 2 should not increase input lag a lot.

In other words, it depends on the game and your system.

Overall, you really want your games to reach the -0.01FPS cap at all times. If they can't, you either need to lower your graphics settings or get a g-sync monitor.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Re: Question about -0.007 than refresh technique on borderle

Post by flaviowolff » 08 Jun 2018, 13:33

RealNC wrote:
flaviowolff wrote:Hmm, didnt know that triple buffering caused the same microstuttering as fastsync.
It's inherent in the logic of how it works. Both DWM (= windowed mode) and fast sync do the same thing: they grab the latest available frame. If that frame happens to be the same as the previous one, it's displayed twice, thus you get micro-stutter due to frame duplication.

The actual implementation is of course different between DWM and fast sync, so you might see different behavior when it comes to stutter. In any event, DWM will add input lag, fast sync will not. Which is why you should prefer fast sync if you want less input lag, unless you're capping your FPS to 0.01FPS below refresh rate, in which case you can just use vsync since in my experience, fast sync produces too much microstutter. Fast sync really works best if you get really high FPS (like 240FPS or more.)
So, if my rig cant mantain the game at my refresh rate FPS, I will have to choose between tearing (all off), input lag (vsync) or microstutter (fast sync/triple buffering/windowed mode), right?
With a -0.01FPS cap, you should be getting the same input lag with both vsync and fast sync. It's DWM (windowed mode) that will increase input lag further.

Of course the perfect solution is g-sync, which was invented to solve exactly this problem. You don't have to choose between tearing, stutter or input lag. It gets rid of all three of those issues.
One last question, if I may: if the game cant keep up with the refresh rate FPS and I choose to use regular vsync to avoid microstutter in exchange for some input lag, should I still set max pre-rendered frames to 1?
A value of 2 might help with performance in that case, but it will increase input lag if the GPU is maxed out. If the FPS drop is not the result of the GPU being completely maxed out, then MPRF 2 should not increase input lag a lot.

In other words, it depends on the game and your system.

Overall, you really want your games to reach the -0.01FPS cap at all times. If they can't, you either need to lower your graphics settings or get a g-sync monitor.
Thank you again. Is freesync as good as gsync regarding this? My C24G70 has freesync support.

User avatar
RealNC
Site Admin
Posts: 3741
Joined: 24 Dec 2013, 18:32
Contact:

Re: Question about -0.007 than refresh technique on borderle

Post by RealNC » 08 Jun 2018, 13:39

flaviowolff wrote:Thank you again. Is freesync as good as gsync regarding this? My C24G70 has freesync support.
You have a freesync monitor? Then you don't need to bother with any of that -0.01 or -0.007 stuff. This is only useful for non-VRR displays. (VRR means "Variable Refresh Rate", and FreeSync and G-Sync are VRR implementations, made for AMD and NVidia GPUs respectively.)

You need a supported AMD GPU for FreeSync to work and you need to enable it in your AMD driver's control panel. You then need to cap your FPS 2 (or maybe 3) FPS below the maximum FreeSync refresh rate as stated by your monitor. If the monitor says that it supports FreeSync between 40-90Hz for example, you need to cap your FPS to 87FPS.)

This will eliminate input lag, tearing and microstutter, all at the same time. Make sure you run your game in exclusive full screen mode. I do not know how well (if at all) freesync works in windowed mode games.

If you're on an NVidia GPU, then you bought the wrong monitor :P NVIdia cards do not support FreeSync, they only support G-Sync. AMD cards are the reverse: they only support FreeSync, they do not support G-Sync.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Re: Question about -0.007 than refresh technique on borderle

Post by flaviowolff » 08 Jun 2018, 16:14

RealNC wrote:
flaviowolff wrote:Thank you again. Is freesync as good as gsync regarding this? My C24G70 has freesync support.
You have a freesync monitor? Then you don't need to bother with any of that -0.01 or -0.007 stuff. This is only useful for non-VRR displays. (VRR means "Variable Refresh Rate", and FreeSync and G-Sync are VRR implementations, made for AMD and NVidia GPUs respectively.)

You need a supported AMD GPU for FreeSync to work and you need to enable it in your AMD driver's control panel. You then need to cap your FPS 2 (or maybe 3) FPS below the maximum FreeSync refresh rate as stated by your monitor. If the monitor says that it supports FreeSync between 40-90Hz for example, you need to cap your FPS to 87FPS.)

This will eliminate input lag, tearing and microstutter, all at the same time. Make sure you run your game in exclusive full screen mode. I do not know how well (if at all) freesync works in windowed mode games.

If you're on an NVidia GPU, then you bought the wrong monitor :P NVIdia cards do not support FreeSync, they only support G-Sync. AMD cards are the reverse: they only support FreeSync, they do not support G-Sync.
I know, it's because I had the gpu already and just bought the monitor. I'm waiting for the next generation of Polaris or Vega price drop. Vega 56 has 1070 performance for 1080ti price here in Brazil. And RX 580 is much more expensive than my current 1060 for the same performance... waiting for the next generetion is wiser in my situation. Need to give up freesync for the moment.

In the meanwhile, I'm thinking about setting up hotkeys to change my refresh rate on the fly (using HRC software) to 60 and 50hz, depending on the game's graphical demand, and setting the -0.007~0.013 rtss limit + vsync accordingly.

Will try and report.

Thanks

flaviowolff
Posts: 23
Joined: 08 Jun 2018, 09:18

Re: Question about -0.007 than refresh technique on borderle

Post by flaviowolff » 09 Jun 2018, 13:07

Also, considering a scenario in which the system can keep the FPS matching the refresh rate constantly (regular no-VRR monitor), why would the low lag vsync technique be better than a simple refresh rate cap?

Post Reply