dragoonDorise / EmuDeck

Emulator configurator for Steam Deck
GNU General Public License v3.0
2.84k stars 206 forks source link

Add an Upscaling option for image processing #671

Open zrooda opened 1 year ago

zrooda commented 1 year ago

When it comes to image processing, currently the EmuDeck installer shows only a Yes/No option for CRT-like shaders for specific systems. It would be great to see these options expanded to also include the other popular choice - upscaling algorithms. I would imagine the selection being changed to something like the following:

1) Baseline pixelated experience - Integer Scale or Normalx4 filter (good default as is now) 2) CTR-shader slapped on top of 1) for the true retro folk (as is now) 3) No filter + ScaleFX for the people who want the modern upscaled image experience (< New)

Godsbane commented 1 year ago

Submit some samples of 3 setup, along with what shaders you used and we can discuss it.

You can upload screenshots directly to GitHub.

We had talked about a more in depth shader picker in emudeck, but are not really sure of the right way.

Perhaps a presets drop-down in quick settings?

Who knows.

Anyways, share what you think would be good!

zrooda commented 1 year ago

@Godsbane What kind of a screenshot do you have in mind - the upscaling shader in action over a game ROM or a mock of the proposed UI change?

I think the default option for the relevant systems should be as is now - that is the Normal4x cpu video filter. The CRT shader option is also good as is.

Perhaps a presets drop-down in quick settings?

I would say adding a third button would then suffice (making it a radio-like fieldset with single choice). I don't think it has to include multiple options for the exact upscaling algorithm as there are some clear winners in this area - notably xBRZ and even more so ScaleFX. I think using the default 5-pass ScaleFX shader would be a strong default. I've spent hours testing all of these over time and ScaleFX seems to produce the smoothest outcomes for 8/16bit systems and other low-res platforms at acceptable performance cost.