Using a reshade black frame insertion shader fx?

Talk to software developers and aspiring geeks. Programming tips. Improve motion fluidity. Reduce input lag. Come Present() yourself!
Terryneitor
Posts: 6
Joined: 15 May 2020, 12:41

Re: Using a reshade black frame insertion shader fx?

Post by Terryneitor » 15 May 2020, 15:19

Chief Blur Buster wrote:
15 May 2020, 12:51
Terryneitor wrote:
15 May 2020, 12:47
Do you think its posible to use RTSS to implement a software BFI? I Think the last version has some scriting functions now, doing it directly from RTSS would work on exclusive fullscreen with even v-sync off using scanline sync.
RTSS is a frame-level system, not a refresh-cycle-level system.

Comfortable BFI needs to be achieved at the refresh cycle level, not at the frame level.

Technically it may work okay if framerate=Hz guaranteed, but that's hard to do.

The other showstopper is that RTSS historically doesn't have a capability to generate multiple frames from a single frame (yet), because you would need two frames per frame (one visible frame, and one black frame).

Once there is GPU-shader-scripted refresh-cycle-level opreation into RTSS, capable of spawning multiple frames per frame, that will have fantastic applications for a lot of projects.
Well, my particular case is a CRT pc monitor and my target is old school, retro games like emulators and indies. where frames can be set to 60 or 120 fps with RTSS and the resolution and exact 60/120hz frequencies can be set with CRU or crtEmuDrivers.

Terryneitor
Posts: 6
Joined: 15 May 2020, 12:41

Re: Using a reshade black frame insertion shader fx?

Post by Terryneitor » 15 May 2020, 15:21

My question is if were posible to simply use the OSD function of RTSS, set it fullscreen black, and script it in a way that would show one frame in and out.

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

Re: Using a reshade black frame insertion shader fx?

Post by Chief Blur Buster » 15 May 2020, 16:22

Terryneitor wrote:
15 May 2020, 15:21
My question is if were posible to simply use the OSD function of RTSS, set it fullscreen black, and script it in a way that would show one frame in and out.
OSD function is frame-level at this time. You'd be dropping 1 frame to get BFI. For example, 120 frames per second generating 60fps visible, 60fps black. Why throw away frames to get them blacked out, and still achieve the same persistence? Might as well keep the original frames.

If game was running at only 60fps, you'd only be able to do 30fps visible, 30fps black, with most current frame-level processors (RTSS, SweetFX, or whatever). One needs a refresh-cycle-level processor.

The only way to reduce motion blur is to add more frames (whether real frames or black frames), since persistence-based motion blur is based on pixel visibility time.

To do so, requires RTSS to output more frame rate than the game's frame rate.

Can RTSS do that yet; output more than one frame per game frame? Last I checked; it did not seem to be able to do that.
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

Terryneitor
Posts: 6
Joined: 15 May 2020, 12:41

Re: Using a reshade black frame insertion shader fx?

Post by Terryneitor » 15 May 2020, 17:54

Chief Blur Buster wrote:
15 May 2020, 16:22
Terryneitor wrote:
15 May 2020, 15:21
My question is if were posible to simply use the OSD function of RTSS, set it fullscreen black, and script it in a way that would show one frame in and out.
OSD function is frame-level at this time. You'd be dropping 1 frame to get BFI. For example, 120 frames per second generating 60fps visible, 60fps black. Why throw away frames to get them blacked out, and still achieve the same persistence? Might as well keep the original frames.

If game was running at only 60fps, you'd only be able to do 30fps visible, 30fps black, with most current frame-level processors (RTSS, SweetFX, or whatever). One needs a refresh-cycle-level processor.

The only way to reduce motion blur is to add more frames (whether real frames or black frames), since persistence-based motion blur is based on pixel visibility time.

To do so, requires RTSS to output more frame rate than the game's frame rate.

Can RTSS do that yet; output more than one frame per game frame? Last I checked; it did not seem to be able to do that.
The emulators (and other games capped) are outputing 60fps, while the monitor is at 120hz, in reality i would not throw away any frames since its rendering one frame every 16.7ms or so. I already tested this with the DesktopBFI program from one user here before, and it works as intented. but the program sometime crashes and there is the multi monitor issue as well. maybe it can be done with the option scanline sync x2? or maybe you are right, and it can't be done yet in that way.

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

Re: Using a reshade black frame insertion shader fx?

Post by Chief Blur Buster » 16 May 2020, 00:30

Terryneitor wrote:
15 May 2020, 17:54
The emulators (and other games capped) are outputing 60fps, while the monitor is at 120hz, in reality i would not throw away any frames since its rendering one frame every 16.7ms or so. I already tested this with the DesktopBFI program from one user here before, and it works as intented. but the program sometime crashes and there is the multi monitor issue as well. maybe it can be done with the option scanline sync x2? or maybe you are right, and it can't be done yet in that way.
RTSS would have to be re-architectured to output more than one frame per frame, because BFI is a refresh-cycle-level operation, rather than a frame-level operation. So you need 60 visible frames and 60 black frames for a grand total of 120 frames per second temporally 8.3ms apart, despite the game outputting frames every 16.7ms apart.

RTSS currently cannot, as far as I know, output 2 frames per frame at this time, and the OSD compositor is at the per-frame level. However, theoretically, RTSD can be reprogrammed/source code modified to generate multiple frames per frame.
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

Terryneitor
Posts: 6
Joined: 15 May 2020, 12:41

Re: Using a reshade black frame insertion shader fx?

Post by Terryneitor » 19 May 2020, 06:52

Chief Blur Buster wrote:
16 May 2020, 00:30
Terryneitor wrote:
15 May 2020, 17:54
The emulators (and other games capped) are outputing 60fps, while the monitor is at 120hz, in reality i would not throw away any frames since its rendering one frame every 16.7ms or so. I already tested this with the DesktopBFI program from one user here before, and it works as intented. but the program sometime crashes and there is the multi monitor issue as well. maybe it can be done with the option scanline sync x2? or maybe you are right, and it can't be done yet in that way.
RTSS would have to be re-architectured to output more than one frame per frame, because BFI is a refresh-cycle-level operation, rather than a frame-level operation. So you need 60 visible frames and 60 black frames for a grand total of 120 frames per second temporally 8.3ms apart, despite the game outputting frames every 16.7ms apart.

RTSS currently cannot, as far as I know, output 2 frames per frame at this time, and the OSD compositor is at the per-frame level. However, theoretically, RTSD can be reprogrammed/source code modified to generate multiple frames per frame.
I undertand that now, thanks. I was talking a general use case, but I forgot to say that in my case, I found a hack/methot for the emulator to output 120fps. that is way the desktopBFI app worked but it crashes randomly (setting compatibility mode to win 7, kinds of makes it a better i think) and works only windewd mode and its a hustle to make it work on multimonitor set ups, that is why I wondered if there is a way to use OSD of rtss?

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

Re: Using a reshade black frame insertion shader fx?

Post by Chief Blur Buster » 20 May 2020, 16:21

Terryneitor wrote:
19 May 2020, 06:52
I undertand that now, thanks. I was talking a general use case, but I forgot to say that in my case, I found a hack/methot for the emulator to output 120fps.
That could allow RTSS, Reshade and SweetFX scripts to work, assuming the scripting language had a way to add a black frame to every other frame (preferably the latter duplicate frame, not earlier frame, to prevent input lag that is created if you black out the first instead of second frame repeat).

You'd have to ensure perfect 120fps at 120Hz, to avoid erratic BFI flicker caused by the frames-vs-refreshes dissonance. To prevent erratic BFI flicker during erratic frame rates, requires refresh-cycle-level processing rather than frame-level processing.

Refresh-cycle-level processing is required on many algorithms such as software emulated VRR (like www.testufo.com/vrr), software overdrive, and software BFI. That way, the processing occurs independently of frames.
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

mynm
Posts: 10
Joined: 23 May 2015, 06:36

Re: Using a reshade black frame insertion shader fx?

Post by mynm » 07 Jul 2021, 11:57

Hi, I have tested the desktopBFI program and my monitor seems to be damaged. It have a persistent flickering.

I remember to have the same problem when testing a black frame insertion video test and the problem was solved in some hours, I hope the same happens again.

Do you think it is better to use the monitor or to have it switched off to try to solve the problem?. How can the program have damaged the monitor?.

Edited: It seems it is little by little disappearing, I don't see it at 60Hz but it still persist at 48Hz.

Edited: The flickering is gone.

Is a shame it can't be used cause of the persistent flickering and the annoying flickering I see at 74Hz. Even with 74Hz at 37fps the image is much clear in motion, without the program the images is like double. I was going to test 48Hz 24fps but I couldn't test it cause I saw the persistent flickering.

Do you have tested to use something like an interlaced resolution?. Maybe the flickering will be lower as not all the lines where black.
I had tested some years ago an interlaced 50Hz CRT TV and a CRT monitor at 50Hz. While the TV was usable for gaming with a PS2 without flickering, for example GT4 was perfect in motion, the monitor was impossible to be use cause of the flickering and it was needing around 85Hz to be used without a noticeable flickering.

Riadon
Posts: 1
Joined: 14 Jul 2021, 13:01

Re: Using a reshade black frame insertion shader fx?

Post by Riadon » 14 Jul 2021, 13:04

DesktopBFI does an amazing job when working properly, but seems to be extremely prone to crashing at random (usually short) intervals.

Is there another alternative program that does something similar, or a way to improve the stability of DesktopBFI?

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

Re: Using a reshade black frame insertion shader fx?

Post by Chief Blur Buster » 26 Jul 2021, 00:19

mynm wrote:
07 Jul 2021, 11:57
Edited: It seems it is little by little disappearing, I don't see it at 60Hz but it still persist at 48Hz.

Edited: The flickering is gone.
For those unaware, read Image retention issues on certain panels from software-based BFI algorithms.

There are solutions for this; it's simply re-exercising the display with regular content (giving it a rest from software BFI).

Does not affect all panels, and doing odd-divisible cadences will make it immune (e.g. 60Hz BFI during 180Hz), unless adding a phase-swap BFI.

The source code to all BFI algorithms should have anti-burn-in algorithms added to it.
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