Better BFI Algorithms (Split Blanking / Timings / Progressive / etc)
Posted: 24 May 2022, 17:31
Hello people,
I have have been seeing some places praise BFI as if it is the second coming of Jesus. This actually irritates me, as all that praising and positive PR obstructs some remarkably obvious drawbacks in the lens of an regular user/viewer. For example, I have not ever seen the end of people willfully minimizing the eye strain that the flickering produces. Not to mention, all of this secondary advertising screams to me 3D TV, and we all know how that turned out.
Anyways, after trying to propose alternate solutions to the way BFI works in Discord, here I finally am to finally, hopefully, drive the damn point home.
Anyways, I think we are all familiar with the (comically unhelpful) addage that to provide a complaint, one must offer a solution?
And this is the first of at least a few solutions I have to offer.
To be quite frank with you, the way the BFI works, full screen on full screen off at a clock relative to time (I will get to the latter in another solution later), is mediocre and bare bones in terms of functional systems, and again it baffles me at how people singing BFI's praises are not caring about the drawbacks or people's feedback about the drawbacks.
So, here is an interim solution: instead of flickering the whole screen, why not flicker "halves" at switching intervals.
Video of illustration:
A Blender video rendered at 48hz
The reason why I picked 24Hz for a source video is that it highlights the differences between implementations the best. And makes the problems with current BFI very clear. I put the Seizure Warning there for a reason. For a lot of people, myself included, 120Hz BFI is not a whole lot better, and part of why I have zero interest in VR at the moment.
Anyways, there are some illustrations to highlight what is going on. In terms of vertical, it is straight forward as it is basic interlacing. It comes with all of the visual "artifacting" that comes with interlacing of olde. Now checkerboarding is where it gets interesting. Here is a checkerboarding pattern at 2x resolution:

And here is checkerboarding at 4x resolution:

Now... what makes me think that these are better than standard? Just look at how these all works. They split the image into halves that are on at one time, one frame of sorts. What that means is that each frame of data is shown at one spot only at intervals before switching to black again, which brings the supposed benefits of BFI to full capacity. But, halves of the image are always showing at one time, which will limit disruptions to the persistence of vision and namely the negative side effects of flickering.
In the particular case of the 4x Checkerboard, imagine that each pixel box gets shown for three frames, and when it becomes time it turns off, meaning that they are each on for 3 intervals when it takes one to be off.
This should be a sample of a way to improve the BFI implementation. It has the positive effects of BFI in full (as far as I care to notice, anyway), and the negative side effects are significantly reduced. I will talk in other parts about other specific issues with BFI and how to address each one on their own.
I have have been seeing some places praise BFI as if it is the second coming of Jesus. This actually irritates me, as all that praising and positive PR obstructs some remarkably obvious drawbacks in the lens of an regular user/viewer. For example, I have not ever seen the end of people willfully minimizing the eye strain that the flickering produces. Not to mention, all of this secondary advertising screams to me 3D TV, and we all know how that turned out.
Anyways, after trying to propose alternate solutions to the way BFI works in Discord, here I finally am to finally, hopefully, drive the damn point home.
Anyways, I think we are all familiar with the (comically unhelpful) addage that to provide a complaint, one must offer a solution?
And this is the first of at least a few solutions I have to offer.
To be quite frank with you, the way the BFI works, full screen on full screen off at a clock relative to time (I will get to the latter in another solution later), is mediocre and bare bones in terms of functional systems, and again it baffles me at how people singing BFI's praises are not caring about the drawbacks or people's feedback about the drawbacks.
So, here is an interim solution: instead of flickering the whole screen, why not flicker "halves" at switching intervals.
Video of illustration:
A Blender video rendered at 48hz
The reason why I picked 24Hz for a source video is that it highlights the differences between implementations the best. And makes the problems with current BFI very clear. I put the Seizure Warning there for a reason. For a lot of people, myself included, 120Hz BFI is not a whole lot better, and part of why I have zero interest in VR at the moment.
Anyways, there are some illustrations to highlight what is going on. In terms of vertical, it is straight forward as it is basic interlacing. It comes with all of the visual "artifacting" that comes with interlacing of olde. Now checkerboarding is where it gets interesting. Here is a checkerboarding pattern at 2x resolution:

And here is checkerboarding at 4x resolution:

Now... what makes me think that these are better than standard? Just look at how these all works. They split the image into halves that are on at one time, one frame of sorts. What that means is that each frame of data is shown at one spot only at intervals before switching to black again, which brings the supposed benefits of BFI to full capacity. But, halves of the image are always showing at one time, which will limit disruptions to the persistence of vision and namely the negative side effects of flickering.
In the particular case of the 4x Checkerboard, imagine that each pixel box gets shown for three frames, and when it becomes time it turns off, meaning that they are each on for 3 intervals when it takes one to be off.
This should be a sample of a way to improve the BFI implementation. It has the positive effects of BFI in full (as far as I care to notice, anyway), and the negative side effects are significantly reduced. I will talk in other parts about other specific issues with BFI and how to address each one on their own.












