Fantastic, thank you! I've tried out:
FCEUmm, which seems unchanged (it was working fine already).
SNES9x 2005+, which unfortunately does not seem to gain performance in certain games that are still hovering around 50-55fps at times (Tetris Attack in-game and the SMRPG intro are quick tests). Threaded video and audio do not seem to impact performance here. Performance isn't lowered either, though, it's just the same as before. However, to my surprise, a long standing bug in 2005+ where the audio would crackle at higher volumes on the internal speakers has been resolved, so that in itself is great as it's been driving me crazy for months.
Genesis Plus GX also seems to work as well as it did before, but I don't use that nearly as much as the others so take that as you will.
I was most interested in PCSX, naturally. Crash 1 seems to work best with non-threaded dsp. Threaded video seems to offer a few extra fps, bringing me from 53-55 to about 57-59. From here disabling sound reverb and interpolation got me to hit 60fps (well, 59.8338, but you know) but with constant drops below if I wasn't standing still. Shadows etc are still a bit strange, but that's the same as before. Overall a fantastic boost to performance here.*
I noticed the horizontal downscaling from Hi-Res Downscaling enabled when video output is set to 1:1PAR seems to result in uneven pixels on some elements, when it should probably use bilinear filtering (assuming there is minimal overhead to that). The global bilinear filtering setting seems to have no effect. Disabling Pixel Skip and Hi-Res Downscaling while setting the regular Retroarch video setting to 4:3 works for this purpose instead.
Proper Scaling vs Uneven Pixels:
I was also somewhat surprised that Hi-Res Downscaling and Pixel Skip didn't increase performance, as theoretically the game should only be rendering 256x240 pixels rather than 512x256. Not sure about that one.
dsp_thread gave me some odd results. in fact seemed to significantly harm performance, bringing it down to the mid 40s, where it stayed through multiple game restarts (with dsp and threaded_dsp selected) until I closed Retroarch entirely. I'm not sure if this is a bug, because other posts in the thread seem to suggest very different results. Worse, when starting Crash again, I would get this message during launch and have to force power off my 3DS. It is easily reproducible for me, crashes every time. I have actually not been able to run this game since, so that's a point of confusion for me.
I also tried Chrono Cross. Again threaded video seemed to make no difference -- at this point I'm not sure if this function is working properly on my system. The Enable Pixel Skip and Hi-Res Downscaling worked excellently on the 480i menus here, bringing them up to 60fps in the intro naming screen (and about 58fps when in the intro area -- easily brought up to 60fps by disabling reverb and audio interpolation). The downscaling could still use a pass of bilinear filtering, the selection arrow below is an obvious example of rough scaling, but performance wise this is really fantastic. Turning Pixel Skip on and off does not seem to make a visual difference. With dsp_thread not enabled I get about 55-56fps in the opening hallway -- again independent of threaded video being on or off. Disabling reverb and audio interpolation only added about 1-2fps here.
I closed Retroarch entirely before trying Chrono Cross with dsp_thread to make sure it worked properly for this game. To clarify, all I'm doing is going to Settings > Drivers and changng audio to dsp_thread, so if that is the wrong way to enable this it may explain my issues. In this game it seemed to have no impact on performance whatsoever, giving the same fps readings as the above paragraph.
After this I tried loading Crash Bandicoot again... same issue. I also got the same issue trying to load another game, Gradius Gaiden.
I've also included screenshots of all my other PCSX settings, which were unchanged except for those mentioned. I have Video Synchronization on and Audio Synchronization off in the main settings.
After, I went in and deleted my Retroarch config (and core options file) in an attempt to fix the crashing bug. Emotionally speaking, this only hurt me slightly. Fortunately, this did the trick, and the games loaded without issue. I'm not quite bold enough to test anything else out on them lest I have to make my configurations over again, but hopefully there is some useful information here! This is my first time using anything but the standard Retroarch releases, using your .cia file pack here, so I apologize if I made any stupid assumptions or errors.
Thanks a lot for working on this!
*From above, once I played Crash again, it started out in the upper 50s, but after about a minute of play dropped to around 45-49fps. Restarting the game and the emulator both did nothing. I even deleted the PCSX options file to make sure I hadn't ticked some wrong setting, same performance! Strange indeed.