Mega Bezel Reflection Shader! - Feedback and Updates

Retroarch seems to default to your desktop resolution, which in my case is 1920x1080, DSR was only “turned on” just in case I wanted to use other games with upscaled resolutions, RA was still at 1920x1080 and I could force it to use 4k but I don’t want that. It’s unrealistic seeing your GPU using almost 70% of its load in old games, doubling energy consumption without real visual improvement and taking even more time to load the shader, which is not the case in other games, if I use 4k in Sonic Racing Transformed, even on a 1080p display, the game looks fantastic, no aliasing and basically like a clean CG visual, same for GTA SA and many others, the GPU load is also around 50% or less. I explained above that the issue was fixed reseting the custom screen position, it was an isolated bug.

1 Like

No, both options were tried to no avail.

Technically speaking, yes, it’s quite complex and has a lot of options. It can get quite annoying, though, as even going in and out from full screen it needs to reload, or when you’re trying different systems for other technical tests, etc. There’s no point for me to use 4K in old console games, really, it’s just unrealistic to double loading time, energy consumption and work load without real visual improvement. It would be better if you tried your own suggestions before posting, as since the first one, we’re just chatting without any real addition to the thread, no offense intended.

1 Like

Mega_Bezel_Logo

Mega Bezel is updated to V 0.9.105 2022-03-22 Rev 1

Changes:

  • Some help has been updated to cover some of the new changes
  • Added SMOOTH-ADV Preset Tier, this has ScaleFX in it and the required UpRes in the chain
    • SMOOTH-ADV-NTSC presets added, so now there is an option for smoothed + NTSC
    • ADV has had ScaleFx removed. If you have any presets which used ScaleFx they should have their references changed to the appropriate SMOOTH-ADV preset
  • Updated to Guest-Advanced to crt-guest-advanced-2022-03-10-release1
  • Updated GDV-MINI, should not have problems with 4K by default anymore with CGWG mask
  • Added GDV-MINI-NTSC
  • Auto Fake Scanline Res Added as an option, Explicit Fake Scanline Res is still available
  • Added CRT Curvature Multiplier so it can be set at 0
    • This will set the crt curvature to 0 while the bezel stays curved
  • Added Rotate parameter for Ambient (Night) Lighting
  • Variations/Max-Int-Scale presets renamed to Max-Int-Scale-No-Bezel for clarity, also now the bezel and background are off
  • Black edge layering mode now shows the tube diffuse image when it’s 0
  • Added Tube Shadow Image
  • Added Empty Tube Thickness, so extra empty tube area can be added around the game screen
  • Snap to Closest Integer Scale adjusted for easier use
    • An On/Off switch has been added HSM_USE_SNAP_TO_CLOSEST_INT_SCALE and is OFF by default
    • HSM_SNAP_TO_INT_SCALE_TOLERANCE renamed to HSM_SNAP_TO_CLOSEST_INT_SCALE_TOLERANCE, and it defaults to 20
  • Changed Minimum border size for integer scale to be max size for integer scale instead for ease of use
    • Default value is 94.5 * of screen size
    • HSM_INT_SCALE_BORDER_MIN_HEIGHT is renamed to HSM_INT_SCALE_MAX_HEIGHT
  • Sonkun’s Presets have been updated to the latest and moved into a 4k and a new additional 1080p folder
    • The the 1080p presets have the curvature of the screen reduced to almost 0 and the bezel curvature increased so the bezel looks the same
  • Cyber’s presets have been updated
  • Updated/Added Day & Night presets in variations using the tube diffuse image
  • Variations/Smoothed-ScaleFX_… presets renamed to SMOOTH-ADV

HERE ARE THE LINKS!

Shader Package Approx. 15 MB

Extra Examples Package


INSTALLATION INSTRUCTIONS

  • You MUST use Retroarch Version 1.9.8 or Later (It will fail to load on earlier versions)
    • If you have previous versions of the Mega Bezel installed:
      • Delete the old Mega Bezel stuff from shaders/shaders_slang/bezel
    • Inside the .zip is a bezel folder, copy the bezel folder into your Retroarch/shaders/shaders_slang folder
      • The final path to the Mega bezel should be Retroarch/shaders/shaders_slang/bezel/Mega_Bezel
    • Set video driver to Vulcan
      • It will run in GLCore but seems faster in Vulcan
      • Some users have run it successfully in D3D11 but with a very slow load time
      • Restart after changing the video driver
    • Open the Settings Menu and Set:
      • Video / Scaling / Aspect Ratio to Full
        • This will match your monitor aspect aspect ratio
      • Video / Scaling / Integer Scale to OFF
      • Video / Output / Video Rotation to Normal
      • User Interface / Show Advanced Settings to ON
      • Core / Allow Rotation to OFFImportant for FB Neo
      • Do this Before loading content
    • Load a preset in the shaders menu, Mega Bezel shader presets are found in:
      • shaders/shaders_slang/bezel/Mega_Bezel/Presets
    • When you save a preset make sure you have the Simple Presets feature set to ON
      • This will save a preset with a reference to the preset you loaded plus whatever parameter changes you made
      • This will keep your presets loading properly when the shader updates in the future

STD

ADV with MDAPT on

SMOOTH-ADV

SMOOTH-ADV-NTSC

Standard Tube

Tube with Diffuse and Diffuse Shadow

Tube with Diffuse and Diffuse Shadow and Ambient/Night Lighting

Tube Gel before without shadow

Tube Gel With Shadow

Funky Monochrome Metroid

With Expanded Tube Area

With Colored Gel On top

14 Likes

Hi there - first off I wanted to congratulate and thank this entire team for creating something so spectacular. The HSM Mega Bezel and all of the presets for it are truly amazing, game-changers.

I have the shaders working well on my R7 3700x/GTX 1080 rig - but I can’t seem to get them going on a SFF emulation box I have been working on.

The SFF box is a R5 2400GE apu with 16gb of 2666 ram. I believe I have everything set up correctly (again, I have it running on another computer that is right next to it) but when I load a game and then load the shader, RA just hangs. So far I’ve only tried NES - so it won’t get much more lightweight than that core. Before I go down the rabbit hole of trying to get these shaders to work, is this little machine just plain too weak for the Mega Bezel shaders? I suspect it is, but I figured I’d go to the source to ask …

Again, awesome work - loving these on my main rig.

** UPDATE: After the ADV level presets crashed RA, I tried POTATO, and it loaded (taking 2 minutes) and ran. This encouraged me to try MBZ__3__STD, as this was the least intensive option that still included reflections. It took a little longer than 2 minutes to load, and then ran. However, Nestopia only hit 50 FPS max - so the actual play experience was sludgy. Conclusion: Ryzen 5 2400GE is simply not cut out for this shader pack. For what it’s worth, it was a glorious looking 50FPS :slight_smile:

5 Likes

If it is taking two minutes to load I would make sure you are not using the DirectX video driver by mistake.

I think a Ryzen 5xxx would be the minimum. GPUs are falling in price pretty quickly anyway.

If picked up an RTX 3050 OC for under $300.

6 Likes

I’ll double-check just to make sure, but I did set everything to Vulkan within RA.

That said, this specific computer is a Lenovo M715Q I picked up off eBay for $250, with the intent of making a tiny and cheap computer for the sole purpose of emulation; the form factor is too small to accommodate a dedicated GPU so I think I’m just not going to be able to do these shaders on this build.

Part of the appeal of this build for me is the overall cost. At $250 for the PC, and $150 to pick up additional/faster RAM and a larger SSD, my total expenditure is $400 or less. Scouring Amazon, every mini PC in this price range is similar or worse Passmark score. If I wanted to make a material jump in performance in this form factor, I think I’d probably end up closer to $700, at which point it kind of changes the nature of the project altogether, into something much more “serious”. I’m kind of mentally thinking of this build more like a Raspberry Pi and less like a full blown PC (even though it actually is a full PC). If that makes sense :slight_smile:

EDIT: I’ll add this - I definitely think these shaders are the future of high end emulation, so I’ll look forward to including them in the build I do for myself after this build.

3 Likes

I agree. I also think that as APUs mature it will be far easier to get them up and running on a budget.

Although I haven’t yet had the luxury of trying it, I have been told they run reasonably well on the $200 Nvidia Shield TV Pro. :grin: (I will probably pick one up one of these days.)

1 Like

That’s interesting. The 2400ge in my little repurposed office box should be at least as powerful as the Shield TV Pro. Kind of makes me wonder if I am missing some kind of key setting… I’ve been goofing around with RA for a few years (on Linux, Android, and Windows) so I’m reasonably familiar with the options and configs…

1 Like

Update - just tried two different presets:

Std drez gdv mini - load time above 2 mins, but ran around 54-56 fps

Std easymode - loaded in less than 30 seconds, and actually hit 59.68fps, but spending a lot of time around 58-59 fps

I’m now wondering, does anyone know what is the lightest preset that also has reflections? Obviously, I would love to have the most complex crt/scanline/image processing going on, but for me the biggest draw is the realtime reflections.

Alternatively, is there anything I can do to optimize anything else (not including frame skipping) in RA (or Windows for that matter) to pick up a couple of FPS? My BIOS does not allow processor to be OCd.

I will have to test more tonight but I feel like I’m getting closer to finding something that might be reliable and load in a reasonable amount of time.

2 Likes

The STD__GDV-MINI would be the fastest one with reflections.

This is super wierd, in terms of complexity of number of passes the easymode preset you mentioned is more complex than the drez gdv mini

1 Like

I had loaded the drez 480 gdv mini … And that sat and sat then ran, and like I said, mid 50s. Then while that was running, I hit F1, and loaded the std_easymode (non drez).

Did the std easymode possibly load more quickly because the drez one was already loaded? I always thought when a user selected any new shader preset it loaded whatever was in that preset with no interaction to whatever was previously loaded.

2 Likes

Yeah, like you said what was previously loaded should not matter. But we all know how things in computers which “should” not affect something sometimes have unexpected effects

It would be good to try the non drez STD gdv mini to see what the difference is.

2 Likes

Ok just did some stuff:

Fresh reboot of windows and RA. Loaded STD GDV Mini. Took 2:36 to load. Ran Nestopia SMB1 at basically full 60fps. Only momentarily dropped below 59.96 fps once, and hit 60.12fps at a few points.

Closed content. Switched to Adventure Island. Loaded STD Easymode - took about 2:50 to load. Before playing, I switched presets and loaded STD GDV Mini - loaded in less than 10 seconds.

So, two takeaways: (1) STD GDV Mini does run NES at full speed on a first gen Ryzen APU and appears for sure to be lighter than Easymode or even than the STD Drez GDV Mini. (2) having another Mega Bezel shader already loaded seems to somehow speed up loading of a different preset.

I wonder what exactly is going on with my second takeaway about the load times. I also wonder if there’s any way to speed up the loading time considering the computer is apparently capable of actually running the preset.

3 Likes

This is definitely something which has reported a few times, I think maybe from a shield user (so it’s not just you :wink:) , although it’s still unexpected and unclear why it would happen.

Could you open the live log (instructions in the first post) and watch to see which part of the loading process is taking a long time?

2 Likes

I will try to do the logging a bit later tonight. I would love to gain some insight myself and I would love to be able to contribute in even this small way.

3 Likes

Thanks, this is much appreciated! Welcome to the forum and thanks for the kind words!

4 Likes

Tried loading up STD GDV Mini with the log console open. It flew through most of the initial shader compiling, but then came to a halt at:

[Info] [Vulkan filter chain]: creating framebuffer 1024x1024 (max 1 level(s)).

It showed that message 5 lines in a row then just sat for a while. Probably more than 2 minutes on this step. Eventually it got through that and did some more stuff relatively quickly and then loaded.

I didn’t log to a file because for whatever reason it wouldn’t show the messages in the log console when I told it to log to a file. I wanted to see what it was reporting in realtime so I could see where it got slowed down.

3 Likes

Mega_Bezel_Logo

Mega Bezel is updated to V 0.9.106 2022-03-24 Rev 1

Changes:

  • Fixed the Base Integer Scale Max Height
  • Added Max Int Scale Presets & folder

HERE ARE THE LINKS!

Shader Package Approx. 15 MB

Extra Examples Package


See Last release post for instructions on installation

Base max integer scale is now fixed, so it looks the way it did before by default

Max Int Scale SMOOTH-ADV preset

Max Int Scale STD__GDV-NTSC preset

8 Likes

Is this system memory configured in dual channel mode? Does it have 2 x 8GB DIMMs or just 1 x 16GB stick? That makes a huge difference. With APUs memory bandwidth is usually the main bottleneck. In single channel mode you get half the memory bandwidth and that bandwidth has to be shared between the CPU and the IGP.

Still on the memory bandwidth front, that 2666MT/s RAM is a bit on the slow side. Ryzen really needs RAM to be clocked optimally for various reasons.

Firstly your IGP would benefit immensely from the additional bandwidth provided by higher clocked DIMMs for example 2933MT/s, 3200MT/s or even 3600MT/s. The lower the latency the better. RAM which uses Samsung B-Die chips work best with Ryzen.

Secondly, the speed of your CPU’s Internal/External Bus called the Infinity Fabric is tied to your RAM speed. So at 2666MT/s you really aren’t getting the full potential of your CPU. 3200MT/s and 3600MT/s are the sweetspots for Ryzen RAM ClockSpeed.

Do yourself a favor and get some low latency, Samsung B-Die DDR4 3600MT/s RAM in a dual channel kit. G.Skill is a very popular brand for Samsung B-Die.

Make sure your system drivers and motherboard BIOS are updated and be sure to uninstall any excessive utility software, like 3rd party Antivirus Software.

What resolution are you trying to run HSM Mega Bezel Reflection Shader at? This can have a significant impact on performance as well. Even if you have a 4K screen, perhaps you should be running it at 1080p with these shaders.

Thanks for these thoughts. I will download CPU-Z to double check that I’m in dual channel mode. Having said that, I did upgrade the ram from a single 8gb sodimm to a matched 2666 CL16 Mushkin Redline sodimm set. I believe that the ram is in dual channel just because there were only two ram slots, so there was no way to select the wrong slots. Still worth a check. As for the speed, unfortunately the lowly oem Lenovo b300 chipset caps the speed at 2666.

I’m running the presets at 1080. At present I’m hooked up to a 1080 tv and the desktop resolution is set at 1080 as is the resolution in RA.

I’ll also try to install the latest AMD video card software…perhaps my Vulkan driver isn’t up to date? Ditto mobo drivers and bios; I’ll see if I can find any updates there.

1 Like