After much experimentation, I finally settled on the mednafen_psx_hw core, as it was the only one that 1) used hardware acceleration, 2) successfully overclocked the CPU (ePSXe provides this option but it does nothing, at least for me), and 3) didn’t crash outright (PCSX did, notwithstanding my considerable troubleshooting). It also seems to have the best arsenal of improvement tweaks, so that works out.
Unfortunately, it also has a sort of dealbreaking flaw that I am hoping can be worked around. Evidently whenever any sort of asset is first accessed by the emulation, everything is put on hold while the necessary data is accessed. You probably already know what I’m talking about, but I’ll elaborate by way of example. Booting up a game with BIOS unskipped, the Playstation logo first appears with an orange diamond taking up much of the middle of the screen. The initial appearance of this diamond causes a micro-pause lasting maybe 100ms, during which everything freezes, including audio. Another micro-pause occurs soon after when “Sony Computer Entertainment” appears, followed immediately by a temporary freeze lasting about 5 full seconds (which doesn’t cut the audio in this case, for some reason). Later, during the game itself (RayStorm), there is an intro sequence featuring a space battle, during which there are about a half dozen moments when something new (a new kind of laser, or Earth in the background, etc.) has to be referenced for the first time, and there are pauses in the game each time this happens, lasting about 100ms each, except for the big attack at the end, which freezes the game for almost half a second.
Playing a game under these conditions is unthinkable.
I need to get the usual “did you do x?” out of the way. Yes, the BIOS file is crc/sha/etc. checked to be accurate. Yes, this and other games play without this particular hitch in other emulators such as ePSXe. Yes, I tried seeing if the cdimagecache would make any difference. (It didn’t have an effect, not that I thought it would, since even the PS1 intro logo suffers from this problem and that has nothing at all to do with a CD image.)
It would be a crying shame if I had to retreat to ePSXe after discovering how great this core can make 3d games look. Really the only other thing it’s missing that I can think of would be a way to customize the internal resolution, since nobody is using a display with exactly 2x or 4x the PS1’s internal resolution.
Edit: This problem seems to have vanished after I grabbed a nightly build (2017-07-19).