RetroArch vs. ePSXe - An in-depth comparison

Today I played around with the two RetroArch Cores and ePSXe using Chrono Cross and Tekken 3, running on an Amazon Fire TV 2.

  • Info: For some reason, in Retroarch, I had to manually assign the system/bios directory to a new folder on /sdcard - when I dropped the Bios files in to the existing default folder (/data/data/com.retroarch/system), they werent recognized. Bios files had to use the scphXXXX.bin naming scheme, with scph in lower case letters.

Both Mednafen and PCSX ReARMed show considerably less input lag than ePSXe, Retroarch, as you know, allows you to use any aspect ratio you like - using its custom resolution option and some math (which means - not only can you eliminate every single black bar entirely - but you can also experiment with aspect ratios that are a bit more widescreen - but not entirely 16:9), also - Retroarchs scanlines (even the default ones) are much better than their equivalent in ePSXe.

Mednafen on the AFTV2 isn’t performing well enough to be considered usable - even only using native resolution. Slowdown and Sound stutter.

PCSX ReARMed can run both games full speed at normal resolution, and Tekken 3 with minimal slowdown at “extended resolution” (3D models are calculated at full screen resolution). Chrono Cross at “extended resolution” shows significant sound stutter in fight sequences (Full 3D) - and thats too bad - because, the models look great. :slight_smile:

PCSX ReARMed also has no obvious options to enhance textures. In ePSXe with dithering and 32bit color depth enabled, the color palate and textures in general look far better.

ePSXe also has an option to increase the render resolution of 3D models - with about the same outcome as PCSX ReARMed, its highest setting induces slowdowns and sound stuttering on the AFTV2 - but in ePSXe there is a “middle” option which works flawlessly on both titles tested. And still looks significantly better than PCSX ReARMed at default resolution.

ePSXe with all sound quality settings maxed - also sounds a bit better than PCSX ReARMed.

If your GPU supports it, you also get FXAA for free (ePSXe only), which blurs textboxes a bit - but overall is still probably worth using.

There also is an experimental multi thread option in ePSXe - which causes some texture popping in Tekken 3 and in Chrono Cross causes some very minor sound skipping in the triangle menu - but overall, at least on the device I tested it on increases perceived performance.

ePSXe also has a Widescreen mode where the emulator renders stuff outside the usual 4:3 box - which works surprisingly well in Tekken 3 (with the exception of some pop in) - and is unusable in Chrono Cross - because it stretches the geometry where objects are put on screen - while redrawing the backgrounds in a widescreen resolution - which causes objects being misaligned , frequent pathing issues - and so on.

ePSXe - despite also having a “remove black bars” option - is not capable of removing the entire bars in PAL games. On the US titles I tested it works sufficiently - most of the time.

Overall - ePSXe still wins by a mile, but compared to the Retroarch Cores - there are some significant tradeoffs. :slight_smile:

re: FXAA, have you tried the advanced-aa shader preset inside the antialiasing subdirectory? Or, for that matter, any of the other postproc smoothing shaders we have?

>_> We have no problem with people using other programs, obviously, but I’m not really understanding why people feel the need to tell us about it, let alone come onto our forums and encourage users to use other programs (esp closed-source payware). We’re hobbyists, we work for free in our spare time, we publish our source code and we don’t charge money for the privilege of using our software. Our users are not our customers, so if you want to reward devs who don’t share our values, have at it–it’s no skin off our backs–but I don’t need/care to hear about it.

[QUOTE=harlekin;35552]Today I played around with the two RetroArch Cores and ePSXe using Chrono Cross and Tekken 3, running on an Amazon Fire TV 2.

  • Info: For some reason, in Retroarch, I had to manually assign the system/bios directory to a new folder on /sdcard - when I dropped the Bios files in to the existing default folder (/data/data/com.retroarch/system), they werent recognized. Bios files had to use the scphXXXX.bin naming scheme, with scph in lower case letters. [/QUOTE]

Well, we just create a default dir so users don’t have to create one, but the default is to look within the rom folder.

I am not sure - but when I did cycle through some of the available shaders before - almost 50% of them werent working at all, again - on an AFTV2 or a Fire TV stick (Open GL 2.0).

I understand the “want” to promote open source software - but there is another way of looking at it, and it is - can I play a certain game now - and in what state, or do I have to wait another 5 years for the hardware to catch up - so another Retroarch core becomes usable. :wink: The difference between ePSXe and PCSX ReARMed right now (mostly on textures, and that at least some kind of hires mode becomes available on some mass market (price range) Android TV boxes), for me is the difference between sticking with playing through a game now and - not.

On systems where, even currently, performance isn’t an issue - I default to Retroarch almost always. Having a unified interface for all kinds of consoles beats the alternative every time.

That said - Retroarch is still not at the Xbox v1 Xport level of Interface design or usability (but thats just a learning curve thing, for the user), and with the current trend to even release major milestones with broken cores for entire system families (N64, ScummVM (on some devices), …) - accessibility currently isn’t great either.

Also more often than not the solution to any problem on Retroarch you possibly can have is: Throw more CPU cycles at it. Or look for another core - more recently ported. From a “how can I play a certain game in the best possible way” perspective, sometimes its good to branch out and see what else is available.

And if you took your time and found that for objective reasons (some of the ones in this comparison simply break down to - the commercial alternative is more configurable, and has better texture enhancement), in one case - a commercial solution ranks higher - so be it. From the users perspective.

The only times I stray from Retroarch is - when it makes me. :slight_smile: And imho thats a healthy perspective.

Now - let me try some shaders. :wink:

Tried that as well - put the bios files in the sub folder containing the isos - didn’t work. Put them in the folder one level higher, didn’t work. Put them in the default Roms directory (in my case different from my PSX isos folder - (because Android and external storage - in fat32 (thank you Amazon sigh), so I cant symlink), didnt work. Put them in /data/data/com.retroarch/ - didn’t work. Put them in /data/data/com.retroarch/system/ - didnt work (although that was the path defined in the .cfg).

Restarted Retroarch each and every time I tried a new location - just to be sure it wasnt a caching issue.

Then did the entire thing with the bios images in a folder named “bios”, in all the paths mentioned before. Didn’t work. Then I made a mental note “probably a core specific issue” - and was about to give up, and just for fun - directed Retroarch to look for its “system” directory on the /sdcard (in a subfolder) - and it worked first try.

Also - the ScummVM core still has a “fresh install” problem that could be related. The scummvm.ini simply doesn’t “stick” (probably “doesnt get created”) and it also lives in /data/data/com.retroarch/system/ - my best guess is file permissions, but thats exactly that - a guess.

I have to disagree with you based on one major issue. Audio latency is absolutely horrible on epsxe and this makes it basically unusable for me. Retroarch’s superior audio/video sync and input latency far outweighs any possible benefit of using epsxe or any other android based psx emulator that I’ve tested.

When I press a button, I expect to hear the sound that it makes. Even on low latency audio setting epsxe can’t compete. It’s very distracting in game and in menus.

I also love retroarch’s gui. I actually still use rgui for most devices because I love it’s simplicity and retro look. That being said, I do like the automatic box art display in epsxe.

ePSXe also has an option to increase the render resolution of 3D models - with about the same outcome as PCSX ReARMed, its highest setting induces slowdowns and sound stuttering on the AFTV2 - but in ePSXe there is a “middle” option which works flawlessly on both titles tested. And still looks significantly better than PCSX ReARMed at default resolution.

What exactly is that “middle option”? you mean setting the internal resolution to 2x in the hardware renderer of epsxe? Because it works mostly the same as the enhanced resolution option in pcsx rearmed with slow down in only a few games I have tested in various android devices and it looks about the same. Also pcsx rearmed has a enhanced resolution speed hack for the slow down. Retroarch also has a lot of shaders that work perfectly with the pcsx core(not that easy to find or test I’ll give you that) and work better than the epsxe shaders. Your claim that it sounds better it is subjective, any way to compare the sound quality objectively? idk how you can say epsxe is miles ahead of the retroarch cores while you only list a few things you think epsxe does better. Imo the only thing epsxe has over the retroarch cores is the opengl plugin, but it still needs a lot of improvements and causes a lot of bugs and in a lot of games.

Tested the AA and dithering shaders in Retroarch (PCSX ReARMed). FXAA is available in Retroarch as well and on the AFTV2 works on the same level as it does in ePSXe - perfectly fine.

As far as dithering goes - several shaders fail - including the (i presume) default filter. Regarding the ones that do work - two can be considered “usable” - one blurs the textures less, but induces a slight almost sepia tint (darkens the image) - so…

But there is also the overall issue - that I just tried all AA filters and all dithering filters in Retroarch. And I can say this for sure.

Again - about 50% didn’t work, 70% of the remaining filters werent usable (certainly not for a 3D game - extensive blur, “Edge Enhancement” (Photoshop anno 1990), extensive miscoloration, …). In the AA subcategory the FXAA filter is probably the only one applicable to a 3D game of that era.

So had I not played around with ePSXe before I would have never thought of applying an anti aliasing filter to PSX games (the key is, that it costs almost no performance), I would have never seen the difference good dithering makes on a PSX game (there is a certain “quality” to textures of that era :wink: ) - I certainly would have never thought of combining those exact two - and without the hint (for which I am thankful) - I probably would have never found the FXAA filter in Retroarch in the first place.

@talos91: The option i was referring to, in ePSXe is called Internal Resolution x2, thats right. The sound stutters in Chrono Cross i described - with PCSX ReARMed on a AFTV2 with resolution enhancement enabled, were present with the speed hack both enabled and disabled. But again, thats probably something that goes away with with more CPU cycles and has to be considered a device specific issue.

But you see Epsxe has inconsistent fps and sound cuts when using 2x internal resolution in my device ergo I think retroarch cores are better because I tested them on only one device so I can say retroarch cores win by a mile. Also I think it sounds better.

About shaders I think this thread is relevant: http://libretro.com/forums/showthread.php?t=5257&p=35546#post35546

RetroArch performance is a double-edged sword accross devices because for example when the N64 core worked,it was slow on a FireTV Gen1 and super fast on Shield TV both on the right settings,but Mupen64Plus AE is faster than the core on FireTV Gen1 while it is comparably slower than the core when on Shield TV. My Shield TV Pro could run the RA core at really fast speeds,even with rewind enabled at 2 granularity,it was INSANE! I can’t stop pondering why that is the results,why was the core extra slow on FireTV Gen1? The fact that the core is faster than Mupen64Plus AE by such a large margin on Shield TV is really interesting.

I should also add ePSXe on Android has sub-pixel precision, removing the wobbly/jittery 3D PSX games suffered from, PCSX-ReArmed has no such feature AFAIK.

ePSXe also has rumble on my shield controller. The subpixel precision also works on all the renders.

You should try one thing about the sound stuttering and slow downs in high resolutions, I had that very same problem with Retroarch 1.3, but never in Retroarch 1.2.2. So I suggest you to remove your current Retroarch, save your configs for your future use if needed, try version 1.2.2 with PCSX-R Rearmed core, you can activate higher resolution and if you, like me try that, you will see your PS1 games running full screen, in high resolution without any slowdown, I won’t update my Retroarch since it’s perfect now, but I assure you I really tried a lot 1.3, both stable and nighties, messing with a lot of settings, without result, while 1.2.2 runs perfectly fine without having to tweak anything.

You’re comparing it to PCSX ReARmed, not to RetroArch. RetroArch is not an emulator.

Also, all development right now is going into Rustation (Simias’ PSX emulator) and Mednafen PSX also benefits from some of the enhancements simias has brought to this emulator. PCSX in general is not a good foundation to build upon for futher development.

What made me ultimately decide to close this thread BTW was not even your initial ‘comparison’ between ePSXe and RetroArch which honestly, hunterk already laid out why this was a bit rude, but then your followup post:

"That said - Retroarch is still not at the Xbox v1 Xport level of Interface design or usability (but thats just a learning curve thing, for the user), and with the current trend to even release major milestones with broken cores for entire system families (N64, ScummVM (on some devices), …) - accessibility currently isn’t great either.

Also more often than not the solution to any problem on Retroarch you possibly can have is: Throw more CPU cycles at it. Or look for another core - more recently ported. From a “how can I play a certain game in the best possible way” perspective, sometimes its good to branch out and see what else is available."

Sorry but I don’t feel much for this forum to be some kind of free advertising service for a bunch of payware emulators, they already have way enough advertising already, they don’t need simpleton consumerist endusers to make even more for them. And also, I feel even less for that same person who made the comparison to then essentially talk down on RA when this comes from yet another enduser who does not realize that at this point this project is maybe ran and held together by maybe 1-2 people full-time. What do you expect from such a small group? I already dedicate 24/7 here and we do it all for free, there is essentially not a single cent being made. This is essentially already an insane project that honestly should not work to the extent it does right now. It’s not good enough for you? Oh my bad, then. Well then, open source projects require more people who know what they are doing to contribute to make things better.

Honestly, these kind of comparisons you made - you know exactly why they crossed the line. I think you know yourself OP what boundaries you were pushing in this thread, please don’t push them again.