Variable Frame Blanking(Variable BFI)

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Variable Frame Blanking(Variable BFI)

Post by thatoneguy » 24 Oct 2016, 22:23

I just thought of this...would this be possible?
Instead of actually changing the refresh rate like you do with G-Sync/Freesync you could actually just keep the refresh rate fixed

Like say you're running a game at 120fps@120hz and your game drops to 110fps the missing frames would just be black frames so this way you could theoretically eliminate tearing without G-Sync/Freesync

Am I on to something here or am I completely wrong?

Discuss

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

Re: Variable Frame Blanking(Variable BFI)

Post by RealNC » 24 Oct 2016, 22:28

That would just make the screen blink as if your backlight was broken. BFI needs to be repeating at the same rate. Otherwise, it's perceived as blinking. Extremely unpleasant to look at.

I experimented with this using vapoursynth and did uneven BFI. It's unbearable. If your black frames don't come at a constant interval, it's like you're in a rave party. Everything just flashes on the screen and your eyes hurt.
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.

thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Re: Variable Frame Blanking(Variable BFI)

Post by thatoneguy » 24 Oct 2016, 22:37

RealNC wrote:That would just make the screen blink as if your backlight was broken. BFI needs to be repeating at the same rate. Otherwise, it's perceived as blinking. Extremely unpleasant to look at.

I experimented with this using vapoursynth and did uneven BFI. It's unbearable. If your black frames don't come at a constant interval, it's like you're in a rave party. Everything just flashes on the screen and your eyes hurt.
What about a combination of G-Sync and BFI then?
The GPU can directly communicate with the Display and instead of changing the refresh rate to match the frame rate it would apply black frames at a simultaneous rate as needed on a second-to-second basis
That way you could potentially have a complex algorithm implemented that applies black frames as evenly as possible depending on the framerate

It could also be potentially easier to be used with ULMB that way since you're never changing your refresh rate
Last edited by thatoneguy on 24 Oct 2016, 22:57, edited 1 time in total.

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

Re: Variable Frame Blanking(Variable BFI)

Post by RealNC » 24 Oct 2016, 22:56

Some people have succeeded in "glitching out" monitors to do gsync+ulmb simultaneously:

http://forums.blurbusters.com/viewtopic.php?f=4&t=2883
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.

thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Re: Variable Frame Blanking(Variable BFI)

Post by thatoneguy » 24 Oct 2016, 22:59

Read my edited reply

Also I'm aware of that thread but there's a disadvantage with that method in that there's more input lag due to refresh rate fluctuations

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

Re: Variable Frame Blanking(Variable BFI)

Post by Chief Blur Buster » 24 Nov 2016, 14:04

Unfortunately, this idea won't work without nasty flicker effects.
It could eliminate the appearance of stutter, but trading a poison for a different poison. A sudden flicker-rate change from 100Hz to 60Hz and back to 100Hz, would be extremely noticeable.

Also, even if there's lag -- mathematically, there should be less lag with strobed variable refresh rate, than strobed non-variable refresh rate or this particular trick.

Assuming you wanted the "look" of stutterless motion, the math and law of phisics is non-sequitur to an experienced monitor engineer, assuming non-buffered variable refresh rate. Although the thread suggested buffering 1 frame to improve even further, even the non-buffered method will have far less lag than the idea in this thread, as you're not forced to wait for the next discrete refresh cycle.

And even this technique runs into the buffering catch-22. What if you wanted to double the brightness of the leading/trailing strobe flashes (by, say, 50% each) to compensate for the missing strobe, in an attempt to reduce the appearance of a single flicker? Now how do you know you'll miss the cycle (a piece of information necessary to decide whether or not to lengthen the strobe or not) -- you run into the same buffering limitation with this idea, too (needing to buffer 1 refresh, in order to gain enough knonwledge to properly lengthen/shorten the strobe of the PREVIOUS refresh cycle) -- if you're "aiming to reduce the apperance of flicker issues". So you're not dodging that issue, either.

Also, variable-rate strobing is easier to mitigate flicker -- even with a very crude simple algorithm that only focuses on lengthening/shortening the strobe of a subsequent refresh cycle based on how long the time was between refreshes. This is because framerates often varies smoothly up and down, so the stroberate transitions can be made less noticeable than a sudden 120Hz->60Hz->120Hz strobing rate changes (skipped strobe technique).

In short -- no advantages gained visually, and no shortcuts gained for flicker-mitigation algorithms. And no lag improvements (and possibly worse lag, given forcing a barely-missed frame to wait another 1/60sec to be finally displayed -- depending on how the game engine works, etc).

TL;DR: Is the idea possibly worthwhile? Yep, a good hack experiment for a fixed-refresh-rate monitor. But is it superior to an ideal-implementation of strobed variable-refresh-rate? No, won't have less lag, won't have less flicker, won't be easier to mitigate flicker of.
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!

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

Re: Variable Frame Blanking(Variable BFI)

Post by Chief Blur Buster » 24 Nov 2016, 14:24

thatoneguy wrote:What about a combination of G-Sync and BFI then?
That's what I already wrote about.

Black frames are achieved by turning off the backlight.

If you mean actual black frames (empty black pixels), that's a terrible technique.

It will halve the maximum GSYNC rate, because it takes 1/(Max)th of a second to transmit and display frame to the display. For a GSYNC display range from 30Hz thru 144Hz, it takes 1/144th to transmit & scan the display. The display paints top-to-bottom (like http://www.blurbusters.com/lightboost/video ....) in a finite time period. Think of the display screen behaving like a high-speed-fax machine -- metaphorically, the display cable is transmitting 144 faxes per second -- and displaying them sequentially in a top-to-bottom scan that is so fast you don't notice the scan effect -- it takes a finite amount of time to transmit the image (one refresh cycle) over the cable and display onto the LCD in realtime -- beginning with the top edge of the image and progressively-scanning the remainder to the bottom edge, like a printer or a fax but in 1/144th of a second (minus VSYNC blanking interval time -- metaphorically like the VHOLD black bar on a malfunctioning 1970s analog TV with a rolling picture -- that is like a page break between fax pages -- aka refresh cycles -- the time length of a VSYNC blanking interval is usually about half a millisecond at default vertical total during 120Hz+) -- you can see the top-to-bottom scan effect in the high-speed video that I made several years ago, http://www.blurbusters.com/lightboost/video

And since you're painting a black screen top-to-bottom on the screen inn 1/144sec (for a typical 144Hz GSYNC monitor), you're also forcing the NEXT refresh cycle to *wait* for the black frame to finish painting, before the next visible refresh can be displayed.

There's a reason why black frame insertion via black screens (black-pixels-on-LCD) is possible only at half the refresh rate of the display (or less) -- http://www.testufo.com/blackframes (my animation of software-based black frame insertion) -- it is as time-inefficient and bandwidth-inefficient as trying to transmit a completely black fax page between fax pages!

So, the best way to do black frame insertion is via turning off the backlight (same thing for human eyes, but much faster to do, simpler, cleaner and, no wasted bandwidth, no reduced refresh rate limit, and less lag. Even if not perfect, still far better.)

And strobing is much more efficient, on a power basis. No black pixels to block backlight. And you can strobe the backlight much brighter (usually 3x-5x) to compensate for the backlight-off time.

To the human eyes, "black frames" is simply blackness -- whether by LCD black pixels -- or via backlight-OFF -- and doing it via turning off backlight is MUCH more efficient, much less lag, much better color, much clearer motion reduction, does not waste cable bandwidth, does not delay display's ability to diplay the next refresh, you can vary the length of the black frame much more perfectly (e.g. strobe flash length), etc.

Some emulators (e.g. this MAME and WinUAE) use software-based black frame insertion to convert 120Hz LightBoost/strobing into 60Hz strobing via inserting black refresh cycles between the emulated refreshes, for a full 60Hz zero-motion-blur CRT clarity effect, for displays whose stroberate cannot be reduced to as low as 60 flashes per second. But it is better if hardware is able to do 60Hz single strobe (e.g. BENQ XL 2720Z)
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!

thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Re: Variable Frame Blanking(Variable BFI)

Post by thatoneguy » 24 Nov 2016, 20:36

That was a great read.


What I was thinking was of combining G-Sync, Strobing and BFI(the BFI being only used to eliminate double-image for low framerates(e.g when running 60fps it would run at 120hz with BFI to eliminate double-image) and framerates over 90hz would use single strobe without BFI)
But it seems like it's practically impossible which I should have figured

Somewhat off-topic: On another note I read that method you proposed about combining G-Sync and Strobing and using different versions of strobing for different framerates(30 to 85 being gaussian and the rest being squarewave iirc) on that other thread and I thought that was pretty cool




Cheers

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

Re: Variable Frame Blanking(Variable BFI)

Post by Chief Blur Buster » 25 Nov 2016, 01:41

thatoneguy wrote:That was a great read.
You're welcome!
thatoneguy wrote:What I was thinking was of combining G-Sync, Strobing and BFI(the BFI being only used to eliminate double-image for low framerates(e.g when running 60fps it would run at 120hz with BFI to eliminate double-image) and framerates over 90hz would use single strobe without BFI)
But it seems like it's practically impossible which I should have figured

Somewhat off-topic: On another note I read that method you proposed about combining G-Sync and Strobing and using different versions of strobing for different framerates(30 to 85 being gaussian and the rest being squarewave iirc) on that other thread and I thought that was pretty cool
There's so many possible algorithms, indeed. Nothing will be perfect -- so my suggestions of algorithms for strobed variable-refresh-rate are simply differences between "better" and "much better", but never "perfect".
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!

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

Re: Variable Frame Blanking(Variable BFI)

Post by RealNC » 25 Nov 2016, 08:58

Trick question: what would a variable refresh rate CRT look like? ;)
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.

Post Reply