Looking for a better machine to run RetroPie
-
@dankcushions said in Looking for a better machine to run RetroPie:
doom would slow down to a crawl on real hardware - that’s a seperate issue :)
I can actually get the optimal performance of a sustained 60 fps out of 'DOOM' on lr-snes9x2010. It's just that at full frame rate it still seems to drag across the floor due to it's inherent issues. However, if I raise the framebuffer render past 800x600, the frame rate drops to 48-51 fps in lr-snes9x2010 and even lower in the later cores.
-
I am not trying to be rude at all, but I am struggling to understand the problem. I have never once had a problem running a SNES game on a Pi 3B. I have built 4 Retropies from the official stock image. The only tweaking I do is to aspect ratio, applying a simple border overlay, and sometimes a scanline/gamma shader, biliniar filtering, color pallet, etc.
I have never once had a single game go under about 58fps for SNES unless I was playing with a shader that was just too much for the Pi to handle. I haven't run Doom or Starfox 2 as mentioned above, so maybe those are specific cases I haven't run into.
So, what are you trying to do? Force the emulator to output an extremely high resolution via integer scaling? If you are, you are doing it wrong. Set the aspect ratio that you want, set your preference for overscan display, and then let the core upscale the output to 1080p or 720p. If you have a 4k TV, it will upscale the image further, not much you can do about that but it is not a Pi problem.
You will not, I repeat, you will not get a higher quality image by forcing a high resolution out of the core so there is no point. We are dealing uber tiny res base files. It will not look better than just letting the core upscale the image for virtually no performance hit.
As far as shaders go, yes you are limited on the Pi 3B. But you can work within the limits of the Pi 3B and get a really nice image that is more than playable. You aren't going to get anything better unless you emulate on a modest PC and even then, it really isn't going to be that much of a difference.
-
@mediamogul said in Looking for a better machine to run RetroPie:
@dankcushions said in Looking for a better machine to run RetroPie:
doom would slow down to a crawl on real hardware - that’s a seperate issue :)
I can actually get the optimal performance of a sustained 60 fps out of 'DOOM' on lr-snes9x2010. It's just that at full frame rate it still seems to drag across the floor due to it's inherent issues. However, if I raise the framebuffer render past 800x600, the frame rate drops to 48-51 fps in lr-snes9x2010 and even lower in the later cores.
i confess i've never tried doom on my pi, but yes this makes sense actually, since it's a super fx 2 game (i though it was just regular super fx). my theory is that every super fx 2 game (there are 4 - winter gold, star fox 2, yoshi's island, doom) will have frame drops on a pi, due to the unique emulation requirements.
at the same time, i am confident that EVERY other snes game will run full speed on a stock pi3 at default retropie settings (ie, 1080p upscale, no shader, lr-snes9x2010).
-
@dankcushions If I remember right the 2010 SNES core has an option for a virtual overclock on the FX chip. If I'm not mistaken, perhaps try that out? But it does make sense that emulation wouldn't be has honed for those four games. I would probably just play a better port of Doom anyway lol
-
@beldar i completed doom 1 and 2 on the GBA, as I a sadist :) the AI was so limited that if you got far enough away they would give up and just stay still! GBA version is at least very smooth, though. PSX is my all-time favourite version, thanks to the amazing music, lighting and sound effects. but yeah... SNES doom is particularly horrible
-
@dankcushions Yikes! That's some dedication. I fired GBA Doom up on original hardware once out of curiosity. It was a big nope from me.
I too think the PS1 port is the best for original Doom. It feels about as good as playing it on the PC, which I think is the whole point of a port. The Jaguar version wasn't too bad either. Don't try the 32x port, the music is painful.
-
@herb_fargus I am not sure if you read all my comments, but I mentioned many times that I have used stock RetroPie with stock settings. I am not sure how much clearer I can be. I know this sounds terse but I have answered this a couple times, it seems to be ignored every time I say it though. I don't just go in an willy-nilly change settings, I figure that the default is usually pretty good, I only go and try and change things if the default are not satisfactory.
@Beldar I feel the same, but on the opposite side of the fence. I mention RPi3 performance issues and all I get is "Well I can emulate a PS4 at native 4k resolution on my RPi3 so it must be you" (obviously hyperbole, but thats what it feels like). What am I trying to do? I have said this a number of times: play SNES games with a reasonable resolution and frame rate. If the resolution is set too low, then its up to the display to upscale it, and thats always terrible (and often unplayable). If I up the resolution that RetroPie is using then it looks much better and is very playable (visually), but not frame rate-wise.
@dankcushions I do not see any icons or notifications of any sort during emulation or in EmulationStation. I get 60 fps with a low resolution and no filters. I up the resolution, it drops to about 50 fps, I apply (almost) any filter and it drops to < 30 fps. (some only drop it to 40 fps), and thats with games that are not too demanding, usually Super Mario World. I don't believe that it defaults to 1080p in fact I am pretty sure of it, because the first change I usually make is to up the resolution because it looks terrible upscaled to 1080p by any of my displays until I increase the resolution to something approaching 2-3 times the native SNES resolution. It has been awhile since I booted the RPi3 with RetroPie, but 1080p it was not.
-
@latreides said in Looking for a better machine to run RetroPie:
@dankcushions I do not see any icons or notifications of any sort during emulation or in EmulationStation. I get 60 fps with a low resolution and no filters. I up the resolution, it drops to about 50 fps, I apply (almost) any filter and it drops to < 30 fps. (some only drop it to 40 fps), and thats with games that are not too demanding, usually Super Mario World. I don't believe that it defaults to 1080p in fact I am pretty sure of it, because the first change I usually make is to up the resolution because it looks terrible upscaled to 1080p by any of my displays until I increase the resolution to something approaching 2-3 times the native SNES resolution. It has been awhile since I booted the RPi3 with RetroPie, but 1080p it was not.
well, it is the default. look: https://github.com/RetroPie/RetroPie-Setup/blob/5e091d282fbd9a13282f138cfc2d37725b51d517/scriptmodules/supplementary/runcommand/runcommand.sh#L650
what that says is, default to 'video output' resolution. video output is the resolution your pi handshakes from your TV. on an HDTV, that would be 1080p. i fancy that whatever tweak you're doing to 'raise' the resolution is either doing nothing and/or is responsible for your drops.
stock retropie runs at 1080p, 60fps with super mario world (and 99.9% of all 16-bit era games), absolutely. i've never heard of the issue you're describing and have been supporting it for a couple of years, set it up many times, on different TVs, etc.
EDIT: just for completeness, pi1 and 0 default to 640x480, rather than 1080p: https://github.com/RetroPie/RetroPie-Setup/blob/322d5890487935693cc47ae5a16a87ccfd7c5da8/scriptmodules/emulators/retroarch.sh#L138 (but you're using a pi3, so...)
-
@dankcushions said in Looking for a better machine to run RetroPie:
i completed doom 1 and 2 on the GBA, as I a sadist :)
Ha! Same here. Those two GBA carts were actually pretty expensive on the collector's market for a while, but it looks like they've gone down. It really is a testament to how good the original games are when you still see stories to this day of people sadistically willing to play them on on digital cameras and smart fridges. Some time before Christmas, I beat the original 'Doom' on a 3DO system. It was a lousy port, but I couldn't put it down.
-
I think what you have to be doing is setting the emulator core to output at an extremely high resolution directly rather than just letting the pi (and TV) upscale the image to your TV's native resolution. That would definitely impact performance. What I'm trying to convince you of is that it will not improve visual quality at all beyond a certain point. There is a reason for the defaults that are set.
You can force the emulator to output Street Fighter at 4k natively and run it at 10 frames per second, sure. Or you can run it at the default low res and let upscalers handle the rest at 60fps. Those two options will be very similar in visual quality. The image will look worse and worse as you display it on larger and larger high resolution TV's. You couldn't change that if the Pi came with an Nvidia 1080ti installed in it. You are trying to make a chicken out of a feather.
Edit: I am even further confused because I just checked the default resolution output for the 2010 SNES core in RetroPie is just a 4:3 chunk of 1080p. It is already putting out HD quality by default. If you blow that up to 4k, 8k or whatever nothing is going to change. You are working with sprites made out of a handful of harshly colored pixels.
-
Honestly, I just want tinkerboard to get full on retropie official support. Then I might switch to that, since I could use my nespi case with it.
-
@beldar I am changing the resolution, absolutely, but I assure you, it makes a world of difference (and the closer to my displays resolution I set it, the better it looks). The defaults, whatever they may be, are unplayable. The scaling artifacts by letting RetroPie or the Display scale them are horrendous. If I change the resolution setting in RetroPie, not sure which one (there are a couple resolution settings iirc), but its very small, likely native SNES resolution or double it, not 1080p, not even close, to something that looks decent on my displays, then performance drops to an unplayable frame rate. So its either unplayable because it looks bad (I don't even need filtering, just fairly accurate scaling with no guessing or averaging of pixels) or unplayable because the performance is bad. I have to sacrifice on one or the other.
-
the rock64 has more ram and faster cpu with 1.5 only thing hasnt been tested much.
-
Just set video_scale_integer = "true" and you will get zero scaling artifacts (and make sure to undo your other setting changes). Using integer scaling is the only way to completely avoid artifacts. Depending on your display's vertical resolution, you may get some black borders at the top and bottom.
Anyway, the setting above will not impact performance and SNES games will run at 60 FPS. I've run demanding games such as Yoshi's Island on a 1080p TV without framerate drops.
EDIT: Oh, and if you for some reason want something faster, go x86. There are SBCs with Intel's Apollo Lake chips and those are significantly faster than a Pi 3 (more than 2 times faster). I don't personally have any experience with those SBCs, though, so make sure to read up on them. I personally use an Apollo Lake based setup (although mini-ITX sized) with a Pentium J4205 CPU running RetroArch directly via Ubuntu, and it appears to be roughly 4 times faster than the Pi 3.
-
@brunnis said in Looking for a better machine to run RetroPie:
Using integer scaling is the only way to completely avoid artifacts.
it also introduces incorrect aspect ratios, though. for example, snes no longer 4:3 (although there's some debate over which is the most correct here!), super widescreen versions of CPS2 arcade games.
still i think you'd be hard pushed to spot scaling artefacts at 1080p with stock retropie settings.
-
@dankcushions said in Looking for a better machine to run RetroPie:
it also introduces incorrect aspect ratios, though. for example, snes no longer 4:3 (although there's some debate over which is the most correct here!), super widescreen versions of CPS2 arcade games.
Yep, this might be an issue for some. Thanks for pointing it out.
@dankcushions said in Looking for a better machine to run RetroPie:
still i think you'd be hard pushed to spot scaling artefacts at 1080p with stock retropie settings.
Definitely. I can spot it with some highly regular patterns, but otherwise I don't think it's a big issue.
-
So a bit of an update. Since I was no longer using my RPi3 (I had ordered a XU4) I decided to experiment with it (the RPi3) more than I had before and I installed Lakka on it, and it worked perfectly. Out of the box the games look amazing and the (few) that I have tried, both SNES and PS1 have run perfectly.
This tells me that there isn't a problem with the pi, the power supply or the sd card, its just something different in the versions/configuration in RetroPie. For clarity sake, I always installed RetroPie from official builds, and tried multiple times, always trying to use it with out of the box defaults first.
I gave the RPi3 away, so I can no longer test with it (the XU4 runs circles around it) but it is good to know that it was at least capable of running the emulators that I thought it wasn't.
I have not put RetroPie on the XU4 yet, I am trying to get a decent set of benchmarks (games that run smoothly in Lakka) to compare.
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.