Koko-aio shader discussions and updates

Starting from yesterday, the development repo (and next official release) requires Retroarch to be at least at version 1.16, because koko-aio is using some features not available before.

Older retroarch versions will simply refuse to load the shader.

1 Like

To overcome slowness when applying the shader to hires content like flycast core that outputs at 640x480, I made a copy of the presets that works with halved internal resolution.
(unfortunately retroarch won’t allow to do that runtime, hence the need of duping)

For my simpler managment, the new directory structure will be:

koko-aio
       L Presets_Handhelds-ng
                            L [..]
       L Presets-4.1
                   L [..]*1
       L Presets-ng
                   L [..]*2
       L Presets_Halfres
                       L Presets-4.1
                                   L [..]*1
                       L Presets-ng
                                   L [..]*2

So, Presets_Halfres is the new folder and will contain Presets-4.1 and Presets-ng which, in turn will contain exactly the same presets found in the other Presets-4.1 and Presets-ng folders.

This would allow to run Hires 60hz games at the same speed (IGPs) of lowres one and with the same quality.

I’m here for an advice for a descriptive name for the new folder.
I don’t think Presets_Halfres is enough to describe the intent of running hires games at the same gpu use/speed of low resolution one.

So, do you have any advice? i’m considering:

  • Presets_HiresCore_HalfResGPU
  • Presets_HiresCoresOptimized
  • Presets_OptimizedForHiresCores
  • Presets_HiResOptimized
  • Presets_HiRes_Perf
  • Presets_FastHiRes
  • Presets_HiResPerformance
  • Presets_HiResLowGPU
  • Presets_HiResSpeed
  • Presets_HiResAccel
  • Presets_HiresCores_Fast
  • Anything else!

Thanks :slight_smile:

2 Likes

I think this is the most accurately descriptive of the bunch.

2 Likes

I’m new to a lot of this, but what are you recommending to someone like myself focused on arcade/mame? It’s not necessarily a hires core, it’s a hires game. And what do you consider hires for an old i5 iGPU - for me I guess it’s roms running > 240p.

Like we dicussed on Discord, I ended up getting the performance I wanted for the > 240p games by dropping scale from 2.0 to 1.0 and setting as many params as I could in config-user.

On the flip side, on my non-VRR monitor, I still got crazy jitter for games like Arch Rivals that run at 512x480@30 Hz. I ended up hacking together something from Duglim’s N100 Batocera presets to solve that.

Hires is a vague term indeed; i’d say an ideal square of at least 400x400px.

As per the recommendation, I’m not sure I’ve got it. What’s the question?

So for mame core, use the standard presets for under 400x400 roms and these new hires ones for 400x400 and over roms?

1 Like

Prefer the standard ones if your system can handle them, revert to new halfres presets when it struggles, by keeping in mind that halfres presets quality depends on the core resolution.

That’s the rule.

I think I’ll pick the suggested name of Presets_HiresCores_Fast and will update the dev repo later, today.

2 Likes

At the risk of not really understanding the big picture with RA and cores, I’d suggest swapping “cores” with “content” in the naming convention because if you’re a newb like me, you’d think it’s one-preset-fits-all for a core and that’s not always the case.

1 Like

Lol, Agreed! Indeed I just pushed just before reading your message.
I decided to go for Presets_HiresGames_Fast.

Also added a short readme.txt in that folder eaplaining as follows:

These presets match the upper folder’s options, but without internal upscaling.
This lowers GPU load and maintains similar quality,
assuming the game’s native resolution is sufficient.

2 Likes

Tried the new hires Monitor-Bloom preset on the 4200M Windows machine - FPS is solid at 60FPS on CSPRINT, but still getting major jitter. Again, not sure what I’m doing and maybe this piece isn’t relevant, but here’s what my flicker pass looks like in the stuff I hacked together yesterday, under which I don’t get any jitter:

       shader1 = shaders-ng/flick_and_noise.slang
        alias1 = "flick_and_noise_pass"
filter_linear1 = false
   scale_type1 = source
      scale_x1 = 1.0
      scale_y1 = 1.0  
    wrap_mode1 = "mirrored_repeat"

That’s right, it is scaling at 1x, it resambles what has been pushed to the dev repo today.

How would I have been able to eliminate the jitter using the version I created…probably something defined in config-user.txt?

Maybe lower flicker power if I understood properly. -edit- Or just turn interlacing emulation off, set the following to 0. Screenshot_20240614_170856

1 Like

Hi, is there any chance for a new handheld psp preset? :slight_smile:

I think GBA one can be used for Psp as well, provided one swaps the background picture.

It is just a matter of finding a licensed realistic picture.

3 Likes

It was not just a matter of finding the picture :slight_smile:

Indeed, I’ve faced several stoppers, finding the picture was easy, since there is a free CC licensed one in svg format from Tokyoship.

  1. koko-aio was unable to scale bg picture and content in a uniform manner when the picture was offsetted, that has been fixed in the dev repo.
  2. psp core can upscale the content, so i reverted to screen space rgb mask, instead of a core-resolution space one.
  3. How bad is psp core on retroarch?
    Slow like a crawl, ppsspp on my phone is faster(!) Also unstable: tried Gods of war: freeze, tried out run coast to coast: freeze

Btw Juiced 2 works:

Core set to 2x scaling: PSP.slangp

Core set to 2x scaling: PSP-Overlay-Night-Small.slangp

Core set to 1x scaling: PSP-Overlay-Night-Small.slangp

Core set to 2x scaling: PSP-Overlay-Night-Big.slangp

…is there some special recipe to make PSP Core to work reliably, I’m feeling like i’ve wasted time.

4 Likes

Hard to say. It seems that ppsspp core is compatible with upstream, although it has many bugs. Certainly also requiring a good PC. But never mind that. Your PSP presets look great as always! My favorite is small. Great job, it certainly wasn’t wasted :slight_smile:

2 Likes

Thanks, spent some time and learned the tools a little better. Even with interlacing totally off, I still got a couple weird rolling flickering lines in a 30hz game like Arch Rivals (on an old 1080p 60hz, non-VRR monitor w/ Vsync on). So I guess this is just an FYI that the 30hz hires games may sometimes need special treatment compared to 60hz hires. I went back to a tweaked set of Duglim’s N100 presets that avoid the couple flicker lines for the 30hz games, but I haven’t diff’d the presets to figure out the feature actually causing the rolling flicker.

It would be helpful to know, since I cannot reproduce myself!

Sorry, I must have gotten confused from the different versions I created. Setting Consider Hi-Res above… to 0 does work. In fact it’s the only thing that works for me…even if I set all the other interlacing options to 0, I still got that rolling flicker.