Koko-aio shader discussions and updates

Yeah, it seems definitely upscaled by the core.

Original hardware much less resolution than 256x256

Maybe the core provides options to output in original 1x res. ?

1 Like

There are no Core Options at all, lol. I just made a feature request.

Edit: The dev explained the reason why they enabled internal upscaling, but I think we need your advice there @kokoko3k

1 Like

I’m answering to your deleted topic.

You can’t put that issue aside. The shader is meant to draw a cell per source pixel; If you accept the cells to be tiny, then yes.

2 Likes

Oh I solved the deleted issue, it was an oversight by me when I was setting the opacity of the layers in Photoshop, now the image looks better with ā€œdarkerā€ pixels:

This is a new bezel I extracted, enhanced and edited from an obsolete Tamagotchi app.

As for the grid problem, I hope the core dev can implement a 1x res option in some way.

3 Likes

NG-v1.9.75

New

  • LCD Antighosting: Add runtime parameters.
  • Add Screen brightness uniformity parameter
  • Vignette: allow pillow and/or tube shape
  • Add Antiburn protection as a static option (ANTIBURN_X/ANTIBURN_Y)
  • New: Monitor-slotmask-TVL500-for_1080p
  • New: Monitor-Screen_Hmask-Screen_SlotMask_Taller_Brightest.slangp

Change

  • Presets tuning
  • Rename ā€œLuminosity tied zoomā€ to ā€œBreathingā€,. which appear to be a technical term
  • Black Frame Insertion/Adaptive strobe: sync to the latest version

Fix

  • Disable antighosting when delta render is used
  • Fix small square visible on some handhelds gpus (?)

Performance:

  • Flooring screen coords can be avoided.
  • Add SKIP_SUBFRAMES static options to reuse previous rendered subframes.
  • Use a slightly faster ambi_step_rgb()
  • Paint spot and vignette earlier in the branch.

Full Changelog: https://github.com/kokoko3k/koko-aio-slang/compare/NG-1.9.70...NG-1.9.75

6 Likes

Hey kokoko3k,

New user of your shaders and have to say they are absolutely brilliant.

Just had one question:

I remember reading somewhere that Integer Scaling should be turned on. However, in your official documentation, I can only see a mention of Aspect Ratio needing to be ā€˜Full’.

So do you recommend Integer scaling to be on or off?

I was playing around with some Neo Geo roms and the Geolith core and noticed that, with Integer scaling off, the tv bezels perfectly fit around the top and bottom edges of my 2k monitor. But with it on, there is a huge gap in the same areas.

Hi there,

Retroarch’s integer scaling needs to be OFF; the shader itself manages that internally via parameters.

The fact that bezel snaps to your screen is just a case, but you can certainly operate on shader parameters to have the same effect.

If you post some screens, I can assist you better.

I assumed the bezel snapping to edges is how it is supposed to be? Or did I misunderstand your post?

Below is with Integer Scale off:

And with scaling on:

You can see the part showing my fps has been cut off.

Yeah, sorry for the noise, the first one is indeed correct and you should safely turn Int. scaling off.

1 Like

Hey kokoko3k. Sorry again but one last question.

Have you posted an explanation anywhere regarding the difference in presets? As in ā€˜Presets-4.1’, ā€˜Presets-ng’ etc.?

Yeah, it is just a versioning thing. 4.1 are the older presets users were used to; then when the ng version was released, I decided to move the presets that will use the new functions available in by the ng version to a separate folder.

1 Like

Good thing I checked with you coz I thought the 4.1 was the newer presets :rofl:

Why everybody thinks that!

NG stands for next generation :slight_smile:

Btw, new or old, take the one you like :wink:

3 Likes

I absolutely love those shaders – perfect for my 2012 MacMini iGPU (an Intel4000). Now I can finally create immersive arcade setups with curved screens and reflections.

Do you have recommendations for an iGPU-friendly vector games preset? The VectorGFX presets that come with Koko-aio are too heavy for my system. (28fps with vector_std hires-games-fast Version ay 1920x1080).

As a starting point, I’d like to remove the trailing ā€œghostā€ image from the vector_std preset. But I don’t know where to do that, there’s sooo many options (which is great, but hard for beginners like me) :slight_smile:

1 Like

Hi there, I’m glad you like them.

The persistance effect/ghosting is really light in requirements, so you should check elsewhere to gain speed.

First of all, are you sure the core itself is producing enough fps without shaders? I’ve seen that some games like star wars runs slow despite the hardware.

Eg: I can run asteroids at 60fps with FBNeo core on an Haswell igp, which is an ancient HD4000 AFAIK, with 90%gpu use at 1080p, and this is with normal presets, not fast ones.

Star Wars, with same core and same preset, sits at 40fps, with cpu use at 75%, that’s because 40fps is the core refresh rate, so the gpu is idling more.

Another thing to check is the output resolution by the core; maybe it can be reduced tto spare gpu cycles.

What i use, FBNeo, is known to output at 480p, where MAME2003-Plua, and probably others defaults so higher resolutions:

With that resolution, my Haswell sits to 27.5fps, so it would be in line with your findings, but if I set it to 480p, then almost full speed reached, even with non fast preset (somehow FBNeo still seems faster).

As a last hope, there are the shader static options that requires additional setup.

To recap:

  • what game and core are you testing?
  • What’s the fps with lighter or no shader applied?
  • Try to lower the core output resolution
  • Try FBNeo core
1 Like

I’m using FBNeo, currently with ā€œblur/kawase glowā€ shader which runs at 60fps. Asteroids Deluxe, Star Wars, Space Duel. All with 1920x1080, Core Provided, Vulkan

With identical settings, the moment I change to koko-air vector_std (hires-games-fast version) frame rate drops to 28-30 fps. Space Duel is about 40 fps, which is barely playable but with stuttering sound output.

I can’t find the options in your screenshot. Looked inside quick Menu/Core Options, and in Settings/Video/Scaling and Settings/Video/Scaling. I remember tinkering with Beam Width a while back, but can’t remember how to get there.

The option is from a MAME core, not FBNeo. FBNeo outputs at 480p which is ok, you should not configure anything.

I’m sorry to hear that you’re having problems in reaching good speeds; given that the GPU is about the same as mine, I can only blame OSX Vulkan drivers and the Metal translation layer.

Asteroids is a 60fps game; if it sits at 30fps, even with fast presets which alreaddy halves the internal resolution, I’m afraid there is little to not hope at all to reach good speeds, even with setting static options or disabling features.

If you still want to thinker with static options, please read the file config-user-optional-template.txt under koko-aio/config/config-user-optional-template.txt

I’m booting straight into Batocera, not OSX (2012 Mac Mini = Intel-based Mac).

Anyway – thanks for all your help. I might take another non-vector koko-aio preset and then disable scanlines / add glow etc Good thing is I’ll have a learning curve and get to know the shader and presets better.

2 Likes

Wait, so non vector presets run full speed with the same core and content? That’s unexpected and wasn’t clear to me.

If you spot some option that cause the slowdown, I’ll be interested to know.

Also, since you’re running Batocera, you can switch to GLCore output in retroarch (restart to apply). It gives better performance than Vulkan on my Linux with old intel iGpu setup.

Sorry, no… that was an assumption from my side. The non-vector presets run just as slow. So, blur/kawase glow it is…