Doubt about Anti-Flicker Shader

Hey, I’m trying to mix some Shaders but I realized something, mixing madapt with any other shader that improves game graphics like HQ4x, xBR or ScaleFX creates a flickering pixel(s) when two round borders are very close to each other, so I attempt to use Anti-Flicker shader but didn’t worked, then I realized the Anti-Flicker shader was probably built to avoid ingame flickering in modern monitors, and not to avoid flickering created by Shaders, that’s right? So, there’s somehow to avoid the flickering effect that 2 Shaders create? I’ve already tried to change parameters but still flickers.

To remove flicker, you need access to the current and (at least) 1 previous frame. Shaders can only access previously shaded frames using the “passfeedback” uniform, so removing flicker caused by other shaders is a difficult thing to do.

If you’re trying to mix mdapt with other shaders, put mdapt first and the other shaders after.

Yeah, this is exactly what I’m doing, madapt is always my first Shader, then comes the Shader to make the GFX better, and it looks all good until we have two different round borders almost touching each other and creating a flickering pixel(s). Do you know some alternative to madapt? If not, do you know some alternative to HQ, BR or FX? Let me know if you do.

AFAIK, mdapt, gdapt and cbod are the only de-dithering shaders that keep the image sharp enough to follow up with xBR et al. I haven’t personally encountered any of the flickering, but are there any still images that you can share that will reproduce it? There may be a rounding issue or something somewhere that we can tame.

Actually, I noticed something, it’s not fault of madapt, madapt just made the pixel flickering more visible, I choose my favorite xBR shader (small details one) and looked close to the screen, the flicker also happens, but I never realized it before.

Below you can see the minimap (F-Zero) flickering some black pixels, I guess the shader is trying to merge the transparent minimap with the background, causing the unwanted effect.


I guess is important to say that the flicker only happens if I move, no pixel flickers if I’m stopped.

ah, yeah, that’s a thing. Nothing really to be done about it, unfortunately. There’s no way to discriminate background from foreground.

I should have realized it before, this issue only happens when I use a shader to make the square pixel something rounded, if I play as crispy pixels, there’s no pixel flickering. At least, trying to fixing the flickering issue, I discovered a few of nice shaders that improves GBA screen effects and make the crispy pixels more enjoyable in higher resolution screens such as my TV, so it wasn’t a waste of time, but I hope someday we can enjoy rounded pixels with no flickering at all to simulate upscaling in games that have foreground and background. Thanks anyway for your attention and explanation.

1 Like

Settings: Xbr - Edge Strength p0/5.00-[0.00 5.00], Xbr - Filter Weight/0.00-[0.00 1.50], Xbr - Anti-Ringing Level/1.00-[1.00 1.00]!

fixed fix

If Xbr - Filter Weight is too high, the transparent minimap border seems to get too dark black color and then the minimap seems to be detected as part of the scenario and some pixels try to merge on it, if xbr Filter Weight it low, the minimap keeps untouched. Now I can finally play this without any flickering!

Yeah, you’ll find that it probably only works reliably for that background, though. Go to another one with a darker background and it may come right back. Of course, you could always adjust it on a per-game basis and save per-game presets with your settings.

1 Like