Mega Bezel Reflection Shader! - Feedback and Updates

For the screenshots loaded into the image viewer make sure they are not bigger the your screen resolution, mainly make sure the vertical resolution isn’t higher (very rarely is the horizontal resolution higher).

The reason for this is the image viewer won’t display the shader on the image how you need it to be for it to be accurate (possibly the image either as I think it just fits the image to the screen), if either resolution is higher.

At least from my memory, if someone can debunk this I’ll remove this post, lol.

Yes, if you are loading images for use with shaders you really want images which match the output of the core, so for genesis the image would only be 320x224. If you turn off GPU snapshot, then you take a snapshot through retroarch it gives you the lower res image output by the core.

1 Like

I was wondering why I had to turn up the Background Image Brightness (I was assuming you had turned it down with this version).

Turns out the Tube Edge Shadow is darkening the whole background :frowning_face:

Also… when the CRT is rotated, both it and the screen edge sharpness have no effect on the sides, only the top & bottom. :frowning_face: :frowning_face:

1 Like

Oops, this isn’t intentional, I’ll fix this with the next version

I’ll have to take a look at this, I’m not sure why this is happening

2 Likes

The shader is updated, V2020-04-02

Changes:

  • Fixed darkening the background when the tube shadow was used
  • Improved performance
    • Tested at 3840x2160, might be more improvement at 1920x1080
    • No Bezel Version - %20 improvement, it now runs at about 40% speed of standard guest-venom
    • Standard Bezel Version - 15% improvement, it now runs at 24% speed of standard guest-venom

FYI - The optimization I put in was to remove all ifs in the sampling function I had which is doing the cropping. Even doing a check at the beginning of the function and returning early if there all cropping parameters were 0 impacted performance. This leads me to believe that it was causing it to execute both pathways. Removing all the ifs and having all the math & sampling happen every time and then just zero out the values not needed was faster.

Another note: Just switching the video driver from glcore to vulcan was about a 25% speed increase.

5 Likes

6 posts were split to a new topic: Shader Branching Performance Impact

The moment I saw a new version of this, I had to have it and test it. Unfortunately I’m seeing some slowdown, even with your plain untouched preset (using guest-Venom-GTU). Testing Snes9x the music is cracking and everything is slower. I replaced it with the previous version, no slowdown. I’m using Vulkan.

@Telmo What kind of GPU do you have? I feel this may be important, not saying anything about your hardware.

You are seeing a slowdown compared to the last version, or do you mean that it won’t run full speed (60fps) on your graphics card?

1 Like

Sorry. I’m using a Dell G7 laptop. The CPU is an i7 8750H, and the GPU is an Nvidia Geforce GTX 1060. The previous version of this preset which included the glass reflection works just fine. There is something that makes it slower in the newer version and I cannot reach 60fps anymore. Tested this with the untouched preset as well and I can still see the slowness, SMW’s music stutters and I’m losing frames.

1 Like

Hmm this is quite unexpected.

The only changes I made between V 2020-04-01 & V 2020-04-02 was the sampling change and fixing the improperly applied tube shadow.

Before releasing it I performance tested those versions against each other on my machine with a Geforce RTX 2060 and the newer version was faster than the older one.

  • With the full bezel shader running at 3840x2160:
    • On the ImageViewer core I get 150fps
    • On Snex9x I get 60fps, if I turn fast forward on I get about 140fps

Are you using glcore, or vulcan?

Is anyone else experiencing a similar slowdown?

Vulkan here. Not much change to Retroarch other than that. Let me know if I can help checking something.

1 Like

I have been trying other cores out of frustration. I just tried Snes9x (Current) for the first time since the update and it’s as smooth as silk :grin:

1 Like

I noticed there is only one background image now, not both a horizontal and a vertical. Is this intentional?

I just downloaded a fresh Retroarch pack. I extracted that into a new folder, launched it, downloaded the Snes9x core, changed the video driver to Vulkan, changed aspect ratio to 16:9, no integer scaling, and restarted it to save changes. Loaded latest pack Dr Venom GTU, SMW in Snes9x Current and it skips frames. Copied and pasted the update before the last, skipping is gone :frowning:

EDIT: Using guest-sm with GTU which is awesome as even with older shader preset versions I had issues with N64 and Dreamcast with Dr Venom. All good over here now.

1 Like

Hi, yes this was intentional, I removed the 2nd version to simplify. Originally it was really required because the bezel was not automatically generated and was embedded in the texture.

Let me know if this is a feature that would be helpful and I can take a look at it. Is this something you used before when it was there?

Yep. Unless there is another way of switching backgrounds on the fly for MAME that I am missing.

1 Like

Ok I’ll find a way to put that back in, I took it out because I was guessing that no one was using it.

3 Likes

Was setting up an Amiga WHDLoad config. Came up with this as a bezel.

Did some looking and saw that Amiga and IBM had some almost identical monitors so I borrowed some of my DOSBox bezel.

8 Likes

New Version of the shader is up V 2020-04-05

Changes:

  • Put back Horizontal and Vertical images for Background and Overlay
  • Put in an #ifdef for @Telmo to try out the difference between V 2020-04-01 and V 2020-04-02
  • Added a Screen Scale Only version of CRT-Royale (Working on getting it running with the Bezel)

Guest-Venom - Screen Scale Only

Royale - Screen Scale Only

@Telmo to try out the #ifdef switch I put in there to switch the only thing that seems changed between V 2020-04-01 and V 2020-04-02, go into crt/shaders/HyperspaceMadness/hsm-mega-screen-scale-params-functions.inc and uncomment the line //#define TELMO_TEST to turn on what the sampling was doing in V 2020-04-01.

Royale is a fantastic shader! Trogglemonkey is a genious :slight_smile: I love the curvature, it’s really versatile, In Royale he actually does the curvature warp as a separate pass on top of the crt image and does some antialiasing at the same time. I’m going to see how I can incorporate Royale’s curvature as an option in the others. With the others it probably won’t be done after the crt shader like royale does.

Does anyone have an opinion on what curvature they like better in terms of setup? Royale’s Radius + View Distance vs other shader’s CurvatureX + CurvatureY

7 Likes