Koko-aio shader discussions and updates

If you’re not doing it already, then I suggest you to use the presets in the Presets_HiresGames_Fast/ directory, since they will run faster with basically no visible quality loss for high resolution/upscaled games, at least you’ll spare some battery.

Speaking of battery life, search for “DELTA_RENDER” in this topic; it can be enabled by editing the file config/config_user.txt: change:

#define DELTA_RENDER 0.0 

to

#define DELTA_RENDER 1.0

…save and reload the shader;

1 Like

There’s a big brightness loss when setting the corner radius to 0.0, you can replicate this bug in two ways: either manually set it to 0.0 in a slangp file, or use RA’s menu but don’t use left/right keys, instead click on the parameter and set it to 0 by choosing 0 from the scrolling menu. This confused me at first.

Love the new options…

4 Likes

What options are you playing with?

@Starman99x Yup, thanks for the note.

It is a known issue, but solving does not really worth the hassle (already tried), since the same code would touch the wole tube edge, not just corner radius. Just set it to something higher.

2 Likes

Deconvergence with HQ_DECON enabled.

2 Likes

I’m exploring the possibility of changing/adding/integrating new pixel upscalers intoto the shader and considering just lighter 1 pass upscalers that compete with the existing fxaa in terms of performance, so I created a new branch for you to test.

With this code, you will be able to switch between 5 of them; the last one being a bit heavier but considered anyway since the different and maybe more accurate result.
They will upscale to just 2x, so the original shapes cannot be “distorted” too much.

The parameter needed to switch is “Antialiasing enable” (previously FXAA enable).

Following their preview, I omitted the scalers name on purpose to mitigate any possible bias:

0:

1:

2:

3:

4:

5:

0:

1:

2:

3:

4:

5:

Now, I need to make a choice:

  • Leave the old fxaa in place and allow to change scalers with a static config (the lighter option).
  • Ditch fxaa and use another scaler (not really comfortable with this, because I like fxaa, and it is by far the lightest, also I tweaked its parameters to speed it up).
  • Allow the choice between fxaa and just another scaler (just 2 choices does not seem to push the gpu too much)
  • Allow to choose between them all.

If somebody wants to try and give his opinion, and try them on different content/configurations, the code is here: https://github.com/kokoko3k/koko-aio-slang/archive/4d171168054dec9c9b4c7ef6557d3c858ce52868.zip

3 Likes

After trying all 5 settings number 2 is hands down the best one for one simple reason, it preserves the most pixel detail keeping it close to how the image looks with it off. All the other settings darkens the pixels in areas that were never dark in different ways depending on the setting, choice 5 seems to do the most.

1 Like

0 or 2, as I agree with Soukun.

2 Likes

Hi Koko,

My choice would be 1.

  • 0: no smoothing, too harsh
  • 1: creates nice rounded shapes, a bit details lost
  • 2: smoothing not enough, shapes are too square
  • 3: cannot be evaluated due to a saturation bug on Nvidia
  • 4: preserve more details but seems counter productive. Isolated bright spot are too bright resulting in noisy image. Could be toned down ?
  • 5: look artificial

Maybe an in-between 1 and 4 could be ideal, but not sure.

Best regards

1 Like

Thanks for your feedback!

In the last dev code, it is now possible to switch upscaler runtime between a tweaked fxaa (number 1) and ddt-xbr-lv1 by @Hyllian (number 2)

ddt-xbr-lv1:

As a side note, the shader chain has been changed because it has one pass less. This means that your old presets, if they were saved as “not simple presets”, will probably not work as expected.

7 Likes

Dear @kokoko3k and others, may I address the topic of vertical arcade games, their scanlines and the tate mode.

If I understand correctly, vertical arcade games were nothing else than monitors turned 90°. This means then that the scanlines should also be vertical - which is not the case in nearly all shaders, including koko-aio. Take 1942 as an example - standard behavior in koko-aio (Tate Automatic) is horizontal scanlines:

So I have to manually deactivate Tate Mode in the shader options to have vertical scanlines:

From my own testing, there is a considerable difference in vertical arcade shooters, such as 1942, if the scanlines run vertically because the picture seems much more fluid. Vertical scanlines seem to “fight” against the vertical scrolling of these shooters and create unpleasant results, at least for me.

Before I start manually deactivating Tate in all vertical Arcade games: Am I missing something? Many thanks in advance!

The best solution for vertical games is to get a monitor/TV stand which rotates. Even if you’re able to rotate the scanlines, what about the subpixels? How are they to remain aligned in vertical mode? This presents another challenge which I hear no one else talking about and from a preservation standpoint, this is sad or at least lamentable.

3 Likes

@Cyber

To emulate the tube rotation, I rotate the scanlines and the mask too, like I think every shader.

There is no more alignment between the emulated mask and the horizontal display mask, true, but I don’t get why this is a problem.

Or better, the only masks that need alignments are the green/magenta or green/magenta/black.

But other than that, I don’t think I’m exploiting nor taking advantage of subpixel alignment.

Am I missing something too? :smile:

@estefan3112
I defaulted to scanline rotation for a simpler reason, less moire.

1 Like

Sorry to ask again, because I don’t understand. If you say you “defaulted to scanline rotation”, what does that mean? That with vertical monitors, you rotate the scanlines 90°, so they are horizontal? And that horizontal scanlines in vertical monitors create less moire? If this is what you say, I commit being blind :grin: Many thanks for your patience!

I opted for auto tate mode (-> rotate scanlines) on vertical content, because, at least on 1080p, using vertical scanlines produces moire.

If you don’t see it, maybe it is because the shader is opting for fake integer scanlines, a mode which is triggered when the available screen lines/core lines falls under a configured ratio, which is likely to be the case, since in your presets you further reduce the available screen lines by showing the full bezel frame.

Fake integer scanlines is a workaround where scanlines don’t snap to core lines nor are curved.

Unfortunately, the content on your screenshot won’t allow me to understand if this is the case (too dark, scaled down and ultra compressed).

Instead, by using tate mode, the default setting for vertical games, scanlines have plenty of screen lines to draw properly, without moire, so I opted for it.

Your choice now :+1:

2 Likes

Many thanks and food for thought, as I am on a 4k monitor here…

1 Like

You really need to fix your screenshots :stuck_out_tongue:

1 Like

Hi! Does Koko´s works OK with vertical monitors? I´m planning to use overlays from here but I´m not sure if using “9:16” (instead of 16:9) can result in moire, or any undesired efect. Same question about 4K.: Does Koko´s work in even better in a 4K monitor? Or it is just the same?

Hi there!

If by vertical monitors you mean rotating your real display, I’ve no direct experience, but it should work; there could be unhandled issues tho.

There are none if your display stay 16:9, but you want to emulate 9:16 games on it.

4k is welcome and everything will look better. Also, 9:16 games will benefit from it because you will be able do disable tate mode and have vertical scanlines without moire.

1 Like

What is the proper way to tilt the bezel?

1 Like