Had a chance to try out Flycast with today's builds, and I'm rather surprised by the results. As of now, most of my (rather limited) library runs full speed with CPU speeds ranging from stock 1GHz to 1.5GHz per game, but I've yet to run into an example short of one that couldn't get smoothed out with an overclock of some kind. And this is with Per-Triangle sorting as well, which is rather impressive. My notes so far (Per-Triangle sorting, fast GD loading, Auto DIV Matching, no Antiso filtering, otherwise defaults):
- Bangai-O runs at default speeds just fine.
- Cannon Spike runs at default speeds perfectly fine. Only 'slows down' at loading screens; probably because of fast loading.
- Crazy Taxi will run mostly fine at stock, but gets fully smoothed out with 1.2GHz; the slowdown when driving through the park in the Church area (Arcade) no longer exists at either speed, so I'm guessing the OC is for asset streaming. You really only notice this hard when going downhill on the trolley area.
- DOA2 runs fine at stock, but 1.2GHz smooths out slowdowns due to asset streaming before fights/during cutscenes.
- Dynamite Cop (DC) runs at default speeds just fine, only minor slowdown between scenes (presumably due to asset streaming).
- Marvel vs. Capcom 2 will still run like a sloth in fights no matter the OC.
- Phantasy Star Online (v2) can actually run well at stock speeds, but if you're doing online then you may or may not want at least a 1.2GHz OC to mitigate the occasional pausing to fetch data; particularly while playing online (and yes, it does work assuming you have a valid flash with ISP info registered!). I doubt this is due to fast GD load, as this is the only rip I have that's of .CDI format and not a .GDI-sourced .CHD... or maybe it's slower *because* of that? Hmm.
- Power Stone 1 runs at default speeds just fine.
- Project Justice - Rival Schools 2 needs a 1.2GHz overclock to run smoothly, but works well otherwise.
- Sonic Adventure 2 runs best at 1.2GHz. There seems to be an occasional micro-stutter when loading dialogue, but the actual gameplay seems perfectly smooth, even in Green Jungle.
- SoulCalibur runs at default speeds just fine mid-fight, even in Water Labyrinth or Chaos w/ two Infernos. The opening will need a small OC to mitigate the small pauses streaming assets between 'segments'.
- Toy Story 2 is weird; video scenes require a 1.5GHz OC, but the actual game can run fine at stock speeds. However, I did notice some poly sorting issues; Per-Triangle w/ DIV Matching causes a lot of PS1-style 'lack of z-buffer' sorting weirdness, immediately visible as soon as leaving Andy's room in Andy's House (the legs on the crib are visible through the wall at certain angles), or this space in the Basement, same level. This happens regardless of DIV Matching, which is what I assumed it to be at first.
- Virtua Fighter 3tb runs best at 1.2GHz to smooth out small micro-stutters; only 'slows down' during loading screens (also affects the demo sequence intro), and is otherwise perfect in-game.
And now, for Naomi stuff:
- Dolphin Blue (Atomiswave) runs well enough at 1.2GHz, but needs 1.5GHz to smooth out micro-stutters during play. I remember this being a heck of a lot slower before, so it's great to see this running so well now.
- Lupin III The Shooting/Typing (which used to be a texture-glitched mess, once upon a time) can actually run at 1.2GHz in-game, but needs 1.7GHz exclusively because of its religious use of (often multiple on-screen at once) FMVs... but if you can submit to that, it's good - when you can play it (lightgun/keyboard exclusive, on a platform with neither lightgun nor keyboard support).
- Monkey Ball is one I seemingly used to have an overclock on, but now it runs perfectly at stock speeds.
- Slashout can seemingly run quite safely at 1.2GHz without issue. Before, I used 1.5GHz.
So, overall, that's very good performance. Out of a pool of 17 games, only one was unplayable (MvC2), and one was in the most severe need of an OC (Lupin); the rest can run comfortably anywhere between stock and 1.5GHz speeds. However, while performance is great, I do need to point out two flaws; one of which is I think just Flycast's fault, and another that's
definitely the libnx port doing weirdness:
- Background music will always play at its loudest volume, and doesn't seem to understand the concept of fading in/out. You'll know this immediately by playing PSO and walking in/out of areas in Pioneer 2; instead of smoothly fading out, the loaded track blasts in your face while the old track unsubtly stops. This also makes music much louder than it should be in general, putting audio balance out of wack and generally disregarding custom BGM settings. NOTE: I say this is a Flycast issue and not a Switch issue, as this has been a problem for quite a few months now when I last used it on Android. I cannot remember the exact update this regression happened, but apparently it's stuck around and now affects this version. At worst though, it is just an annoyance.
- For some reason, if you close a content and load another game, weird shit happens. If the last played game is a Dreamcast game, then instead of loading the game you picked, it'll instead load the last played game you just closed. If it's a Naomi title, it'll load quickly into a Naomi Error 01: "THIS GAME IS NOT ACCEPTABLE BY MAIN BOARD". If it's an Atomiswave one... it'll just crash the title altogether. So for now, if you want to play multiple games in Flycast, you'll have to quit RetroArch and then load back into it so you can guarantee you're loading the game you actually want.
TL;DR:
Do my documentation efforts mean NOTHING to you? Runs better than N64 now, kinda buggy atm.