Koko-aio shader discussions and updates

“Grid Core Level Mask - Core Level Slot Mask” on small screens I think is the ideal solution. The sample screen is with FXAA enabled, but it looks great without it too. Thank’s for your job.

1 Like

The fact that the HMask and Slotmask scale to the native resolution is really fascinating.

Pretty sure that would look nice with psp games

1 Like

Looks nice indeed, and I guess bigger masks make sense on higher dpi screens like smartphones.

Just one thing, when you disable curvature and use a straight bezel, you have also to adjust the inner zoom, or the game content would go under the bezel and the reflections would be messed up.

1 Like

Thanks for the advice, very kind as always. I use everything on a smartphone, but on this model, by testing, I found the best results with this combination. Surely with a computer screen it would be different and it would probably be better to keep only the Slotmask on core level. As soon as I can I have to do some tests.

I have a Retroid Pocket 3+ on which Mega Bezels doesn’t work, despite the instructions and very kind help of their team. Out of curiosity, I tried this famous “Koko-aio” file, and was pleasantly surprised! I use the clean-scanlines-classic_take.slangp shader, then remove the curvature option and get a window that fills the top and bottom, while ambient LED lights decorate the left and right of the image.

But I have 2 problems:

  1. the CPU/GPU load is high (the handheld heats up quite a bit, regardless of the core used to play 8-bit, 16-bits, etc.)
  2. there’s a kind of ghosting that I can’t get rid of, which is very noticeable on games like Sonic on Megadrive.

Would it be possible to find a solution to the above 2 problems? Many thanks for your help.

For the heat, you could try to edit the shader and set the pass that scales to 2x to 1x, it will reduce the hw requirement, but some effects will not work; clean-scanlines should have no problems.

As for the ghosting effect, i fear i don’t know what is the issue, could you explain it better?

Sorry for not being more helping, but i’m on Holiday for 2 weeks now.

The ghosting is because of the panel they choose. It has really good colors and contrast but the pixel response time is really bad. Just scroll through websites fast and you see it how bad it is

@kokoko3k & @ComfyTsu : Thank you very much for your kind help !

  1. Fortunately, I could decrease 1 shader passes from 2x to 1x : this slightly reduce GPU consumption !
  2. About the ghosting effect, by searching the git repo, I’ve found a commit about gameboy motion blur : I understood that Dot matrix emulation parameter has a Refresh inertia : if this one is set to 0, the ghosting effect disappear completely !
  3. Last but not least, some square artefacts was present, and by reading the doc, it was said that when a shader requires a Full aspect ratio in Retroarch Video settings, the shader option named Aspect ratio has to be corrected according to the documentation (ex: for Magadrive, I had to set it up to -4), and the artefact disappear too.

I hope to find tweaks to reduce again the power consumption because I really like the effect, but the heat is not nice to feel. Thank you again !

About the ghosting effect, it is intended, but only on gameboy presets, not on scanlines-clean one. So either you’re victim of some placebo effect, or something weird is going on :sweat_smile:

Further reducing power consumption on scanlines-clean is possible by putting halo sharpness and/or glow sharpness (both horizontal and vertical / X, Y) to the max: 7.0.

I doubt that on small screens you would notice big differences, also those effects work bad anyway when you switch the previous pass to 1x as you already did, so do it safely.

So on sharpness, the higher the number, the less sharp it is?

Nope, the higher, the sharpness.

Halo and glow sliders are inverted and control the blur radius (they won’t sharp anything) 7.0 means no blur (original untouched sharpness, thus reduced gpu requirement), but color effects are still applied, so that glow still acts like a mere input gamma correction, while halo still helps in restoring lost brightness by lessen the mask and scanline gaps effect by the configured amount and depending on its defined gamma.

1 Like

Understood - thanks

K

1 Like

This one is for you my man. My plan was to tell Retro Crisis about your work after I felt like you added all the features you wanted to your presets but I guess he found out about you earlier than expected lol.

Either way I’m glad your work is being showcased to a wider audience outside of Libretro as I’m a huge fan of your work so once again, cheers my guy.

10 Likes

Oh wow, thank you for pointing it to me and the kind comments to the video, very very appreciated!

I’m a bit out of the social/“promotional” (pass me the word) world, so I didn’t even knew who Retro Crisis was when it contacted me on Discord asking details about rotations settings, now I know :face_with_hand_over_mouth:

Maybe I could make a video/doc to explain shader functions…

Btw, hoping this will make more people use koko-aio with joy!

4 Likes

You’re most certainly welcome, all the kind comments you’re getting over there are well deserved.

Lol it’s ok, you’re not missing much in social media world. But yeah he’s been promoting not only our preset packs but RetroArch in general as a whole. In my opinion I see his channel becoming one of the “go-to” places for everything RetroArch related in the future, Retro Crisis is definitely a good dude.

I too hope more people will see and start using your presets as well, you do amazing work man.

1 Like

Hi,

Is there somewhere I can look up :1:gm 2:gmx 3:rgb 4:rgbx 5:rbg 6:rbgx please?

I’d like to understand what each one is doing/trying to replicate.

it is the submask layout, in order: green/magenta, green/magenta/gap, red/green/blue, red/green/blue/gap, red/blue/green, red/blue/green/gap.

or you can craft your own freely by selecting manual and by moving the virtual subphosphor position.

Got it, thanks again!

1 Like

Hi there guys, i’d like to introduce you a new feature of koko-aio.

I’ve named it DELTA RENDER and it is now statically enabled in development repo. It is meant to boost fps by render only the part of the screen that has been changed and reuse the already rendered one otherwise.

Tested on an heavy preset (at least on my haswell):

Enabled on almost static content: 124fps

enabled on almost completely moving content:113fps

Almost completely moving content: 103fps

disabled: 95fps

Without going too much in the technical details, it is statically enabled through the file config.inc, so if you want to play with its parameters you have to edit that file:

#define DELTA_RENDER 1.0
enables or disables (1.0/0.0) delta rendering, enabled by default.

#define DELTA_RENDER_CHECK_AREA 1.0
The lower, the higher the fps.
Set the area that has to be unchanged for the feature to kick in.
Setting it to 0.0 would likely produce artifacts, while setting higher may come handy to track wider blooms.

#define DELTA_RENDER_FORCE_REFRESH 4
The lower, the lower the fps gain.
Forces a full refresh every number of frames (4 by default).

Note that you can NOT rely on delta render to speed up your fps consistently, because it depends on the content, so if your potato gear is not able to run some preset, you cannot expect it to be able just now as it would be an alternating smooth/jerky jumpy experience.

Still, if you’re using a battery powered device, you can expect longer battery life between, i’d say, 10% on shoot-em ups and 30% on puzzle games.

11 Likes