PSX stuttering in some 3D games
-
Thanks all for the replies. Sorry for not making it clear: it is indeed a thumb drive. And you're both right, of course, as the speed of a USB drive can vary and at occasion be worse or better than the SD card, depending on the types of cards and drives we're using, as well as the type of operation (sequential vs random access, read vs write).
@Darksavior interesting. That's good to know. What file format (ISO, bin/cue, reboot) and version are you running (pal/NTSC)?
And what's the refresh rate of your TV, if you may check when you have the chance? You can check it by running
tvservice -s
Thanks.
-
@pjft .pbp format, as I already mentioned. NTSC/US version, 60hz refresh. I don't remember the cluster size I used for the flash drive.
-
@Darksavior thanks. I'll try to compare the pal vs NTSC version of the same game and see if it makes a difference, good call.
-
@pjft are you using the matching bios for the rom versions you are using?
-
@pjft Just checked.Usb drive is 32k clusters. I don't think 64k was readable on a pi.
edit: If it matters, I'm using the scph7502.bin bios. -
@edmaul69 I'm definitely not an expert, just looking at documentation from the pi that leads me to believe it's not the USB speeds. Of course I could be wrong. Also, I'm surprised that your hard drive takes so much longer than than the SD card. Looking online, it seems that hard drives have comparable or better speeds than USB drives (of course there is a lot of variation). There are probably a lot of factors involved that I'm not aware of.
-
@Wulf dosbox is the only thing i have noticed an issue with. However i want to test the psx games mentioned and i am going to try ape escape on the psp as well because it has a random hiccup exactly like described on these games on my hard drive.
-
First of all, thank you all very much for your inputs in trying to help me troubleshoot this, and for the interesting angles to explore.
I hadn't thought of looking into whether the problem could be related to the BIOS, nor disk cluster size.
So, here are my findings so far:
- I tested the PAL and NTSC versions of Colin McRae (for practical purposes, as it's where I can most easily reproduce the problem) and both behave the same. I tested both eboot and bin/cue. So, for the time being, I'm excluding "file format" and "region" as being a factor here.
- My TV is PAL, meaning it's running at 50Hz. Unfortunately, there was no noticeable difference between PAL or NTSC in terms of stuttering.
- @Darksavior I checked and it seems my USB drive's cluster size is 512 bytes. Theory would suggest that this could be a factor in regards to performance, though surprisingly the first web result I found with some benchmarks seems to suggest that for random or sequential reads (which would be the case here, I suspect) the performance is not that worse than your 32k sectors, which defies my expectations. I will likely try to test larger clusters - but not at the moment, as formatting a 64GB drive and copying everything back again is somewhat time consuming so I'd rather avoid it if possible. Still, I will go after this if I can't achieve better results any other way.
- @Wulf I haven't yet tested running the games from the SD card, but I may just for getting that hypothesis out of the way. As you state, I'd also expect it to be faster reading from the USB drive, but given that it's a high speed card and (perhaps) the RPi's card reader is faster than the performance we're getting from the USB drive. Still, if that turns out to be true, there's likely little I'll do about that as I can't fit my games in the card, and I'd rather keep the game collection on the USB drive. I'll test it out, though!
@edmaul69 The BIOS thing is the most intriguing to me, though. So far, I (think I) had been using the recommended BIOS, named SCPH1001.BIN . For the sake of testing, I copied over scph7502.bin, and renamed it to all caps (what's the filename for yours, Darksavior?). I wasn't sure that was the right thing to do, as that's not mentioned in the wiki page as being the right filename.
Now, the big issue, though, is that lr-pcsx-rearmed (that's the emulator I'm using, by the way - I'm assuming you're all using that one as well?) has a "very capable Internal HLE BIOS that can run many games without problems". For the sake of testing, I actually renamed the BIOS to a name that wouldn't be accepted (SCPH750__2.BIN and SCPH100__1.BIN) and lo and behold, the games still launched, and behaved exactly like before.
So, a question now is whether there is a way to check what BIOS is being used in each game session. I imagine that information might be available somewhere in the RetroArch menu, will need to check later in the day, as my workday is just starting.
So that's where I am so far.
Thanks all for the help, data points and insights. Truly helpful!
Have a great day.
-
@pjft some games can play without the bios. As far as renaming the bios, i believe whichever one you choose to use has to be named SCPH1001.BIN. i am going to try to remember to test tomorrow with my external hard drive and sd card. I only have samsung cards in my pi's now as they performed far better for me than the several other popular brands of cards. i will even try a thumb drive for fun. I will be testing ape escape for the psp as well as it had the same issue back when i first added it and tested it. i should hopefully be able to find the best solution in my case which might be helpful to you.
-
@pjft Mine is scph7502.bin. Lower case. No complaints from pcsx. I think its a PAL bios too, though it loads anything I throw at it at 60hz np. I've used this bios for over 15yrs in other emulators so I'll use my own experience over a wiki saying 1001 is the only choice.
Also, get a random usb stick and format it to 32k to test one game with it, heh. -
@Darksavior Oh, I perfectly get that and fully agree with you.
My question is whether the emulator is actually using it - i.e. if you actually remove the file from the folder, do your games stop working - or if it's using its internal BIOS.
-
@pjft If there's no bios, you'll get some message in yellow text on bottom left saying it found no bios, and to expect errors.
I swear someone had a similar problem to yours, but with nes. PAL tv, but skipping games. Not sure how he fixed it. It was in this forum.
-
@pjft said in PSX stuttering in some 3D games:
My TV is PAL, meaning it's running at 50Hz. Unfortunately, there was no noticeable difference between PAL or NTSC in terms of stuttering.
it's a CRT? because modern HDTVs should all run at 60hz fine, unless you've set retropie to use a weird video mode. this might be the root of your problem.
i do see some very small blips in tekken 3 and i'm sure they exist in other games, it's just tekken 3 is one i'm most familiar with on the psx so they stick out to me. i'm not sure what causes it.
-
@Darksavior said in PSX stuttering in some 3D games:
@pjft If there's no bios, you'll get some message in yellow text on bottom left saying it found no bios, and to expect errors.
I swear someone had a similar problem to yours, but with nes. PAL tv, but skipping games. Not sure how he fixed it. It was in this forum.
Great - that's what I was looking for. I'll look out for that message, just to sanity check the procedure.
-
@dankcushions It's not a CRT, it's a 7-8 year old Toshiba REGZA, 1080p LCD. But the default mode that the RPi sets itself up for is 50Hz - should I attempt to force it to a 60Hz mode?
-
@pjft said in PSX stuttering in some 3D games:
@dankcushions It's not a CRT, it's a 7-8 year old Toshiba REGZA, 1080p LCD. But the default mode that the RPi sets itself up for is 50Hz - should I attempt to force it to a 60Hz mode?
i think so. that seems wrong to me. anything with 1080p must have 60hz i think.
-
@dankcushions Sounds good, I'll try that.
I suppose I assumed that the RPi would attempt to use a default mode that'd be optimal for the TV, as part of some HDMI handshake protocol (that, truth be told, I am not sure it exists!).
I believe it's defaulting to mode 31 (1080p, 50Hz) and you're suggesting changing to mode 16 (1080p, 60Hz). I'll try that later. Thanks!
-
hmmm, what about other games for the psx and other emulators? If they aren't experiencing a problem with stuttering would it actually be a tv settings issue?
-
also, if it was a frequency issue, wouldn't the stutter be more consistant? plus, unless if I'm mistaken, the refresh rate should only affect the tv image stuttering, not the sound.
-
@Wulf This is quite a wise comment.
Indeed, maybe it manifests in other emulators differently, though you are right, I'd be suspicious.
I am at home now, and going through the TV modes. It seems it'll accept the 60Hz one (though the 50Hz "scores" higher on the EDID test, unsure why), so I'll try it out and update this later.
It might be that RetroArch is trying to render 60fps and, for whatever reason, something here goes weird.
But you are correct. This is the only emulator, and it's only in a few games - namely 3D games, which lead me to suspect it might be related to data throughput on streaming from the emulated CD.
I'll report back.
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.