Shaders causing performance issues
-
Hello,
I’ve spent hours trawling this and other forums trying to find a solution and can’t seem to find anything that works.
I’ve just bought a PI 4b 2gb and installed retropie but am experiencing issues when I apply any shader.
I run SNES games only, and they run perfectly without shaders on, but as soon as I turn on any shader it causes the video to slow down.
So far I’ve tried the following:
- Set tv to game mode
- Ensure threaded video is set to true
- Ensure threaded video is set to true in SNES config not just all
- Various changes to aspect ratios
- Changing default SNES emulator
I don’t have any bezels, themes or overlays installed so can’t figure out why I’m having this issue.
I’ve had the PI for 2 days, and have just transferred everything from OpenEmu, so please forgive my inexperience and provide forgiving answers as I am by no means an expert.
Ta.
-
Shaders have a performance impact, they're not 'free'. Depending on how complex and how many passes are included in the shader preset, the emulation experience can be severely slowed down.
Experiment with each shader in particular and see which one works best - thecrt-pi
orzfast
shaders are quite fast and don't add much slowdown to the emulation. -
@mitu thanks.
I’ve tried those shaders and both are noticeably slow. Is there not a setting I can change to get them up to speed?
Performance and visual with just smoothing on is great so I’m happy to accept if there is always a performance cost to applying shaders and no work around.
Just a shame I can’t have the cool looking curved CRT screen running full speed as I did in OpenEmu!
-
@ian_uk90 Don't run retropie above 1080p or you'll experience slowdowns. I've been using the crt-pi shader for years without issues. Don't use bezels. And of course, make sure you're using the official version of retropie.
-
I haven’t changed any settings though, so assume I’m not over 1080p.
Is there an easy way I’m missing to check and/or lower this?
The only info I’ve found regarding this so far advised you need to re-write bits of code in order to do so, which is way above my skill set and beyond the capabilities of my clumsy sausage fingers.
-
@ian_uk90 said in Shaders causing performance issues:
Is there an easy way I’m missing to check and/or lower this?
Quit EmulationStation and run
tvservice -s
on the terminal - it should print the current resolution. Typeemulationstation
to get back. -
@ian_uk90 What does the slow down look like for you, and when do you see it?
Could it be overheating and throttling?
I've got SNES set up on a Pi 4B 4GB with shaders and game bezzles, and I don't notice slow down. I use lr-Snes9x and the shader is crt-pi, but I am using some overclocking options in /boot/config.txt
arm_freq = 1800 v3d_freq=700
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
My Pi4 is in an "Aluminium Armour" heatsink case that seems to keep it cool enough. Do you have cooling?
If you can get a command prompt while you see the system slowing down then this command will tell you if it is in a throttled state:
vcgencmd get_throttled
There are other performance queries in this thread:
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=306531 -
@Darksavior
Thanks for the heads up RE not running above 1080p@mitu
It turned out resolution was set to 3840x2160!!!I’ve changed this to 1080p in the launch menu and now all games are running perfectly with shaders on!
Can anyone recommend an optimum resolution? Interested to see if any of the others may make further improvements.
@busywait
I’ve not had any overheating warnings. I just have the standard PI4 case as I thought heatsinks and fans weren’t necessary if I’m only running SNES roms? -
@ian_uk90 said in Shaders causing performance issues:
I’ve changed this to 1080p in the launch menu and now all games are running perfectly with shaders on!
Can anyone recommend an optimum resolution? Interested to see if any of the others may make further improvements.1080p60 is the optimum really. any lower may increase performance if gpu is the bottleneck, but if it's already full speed it's not going to matter.
also, the crt scanline shaders require ~4 vertical pixels per emulated pixel for the scanlines to look decent, and 240x4=960, so 1080 is near the typical limit anyway.
finally, lower resolutions = more obvious scaling artefacts.
perhaps some of this info should be added to https://retropie.org.uk/docs/Shaders-and-Smoothing/ - will try and do this at some point today!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.