PSX stuttering in some 3D games
-
@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.
-
@pjft It could also be related to the emulator itself not liking those games. You see this a lot with psp games on the pi.
-
So, a few tests later here's what I find:
- My TV does work at 60Hz. I do have to disable overscan for that to work well. Shrug.
- NTSC games run smoother (visually), it seems, or it's just my eyes playing tricks on me. Anyway, no complaints there.
- The weird split-second audio and video stutter stays the same, regardless of 60 vs 50 Hz, running from USB vs memory card. Maybe there's a very so slight improvement, but might just be perception rather than reality. Ridge Racer is easy to replicate in the first track (Yokohama?), inside the tunnel, if you hit the right wall a few times.
- I managed to use the proper 7502 BIOS.
So, what did I learn? That my TV supports 60Hz, and that some games are smoother, so I'll stick to that for the time being and see how it goes.
Thanks all for the inputs and insights.
-
@pjft testing on a usb 3.0 slim seagate external laptop hard drive formatted in fat32 with a powered usb hub and with crt-p shader enabled. I have not had a single hiccup. I even tested ape escape on the psp that hiccuped when i had my hard drive plugged directly to my pi 3. Testing with a lexar 16gb fat32 usb 2.0 flash drive, using the crt-pi shader, on the powered hub no problems. Plugged directly in i had sound glitches when i hit something in ridge racer 4. Which tells me it is a probably a graphic issue. Some emulators will deem that audio is less important and will drop audio to keep the video running smooth. I believe the pi not having enough power is an issue as when using your thumb drive. Im sure there are more power efficient flash drives that might not show an issue, or even possibly making changes to your drive might help, but i believe power is the issue in your case.
-
@pjft do you have the 'enhanced resolution' option(s) turned on? see https://github.com/retropie/retropie-setup/wiki/Playstation-1#enhanced-graphics
even if you don't recall doing this, it's wise to double check. that has caused some minor graphics stutters for me in some games.
also you might consider trying .pbps if you're using .cue/.bins, or vice versa.
-
Thanks all.
@dankcushions I do not have the enhanced resolution option turned on - I actually tested it yesterday to see if it'd help, and even though it looked prettier for a bit, it crashed the whole system shortly afterwards :) I'll try a bit more alternatives, but it's no big issue - I was just trying to see what others experienced, in order to know what to look for. The 60Hz thing is already a good improvement - especially on those NeoGeo games with flickery transparencies like Samurai Showdown 4 - they look a lot better now!
@edmaul69 Interesting. You tested Ridge Racer using all those methods, and the one that had trouble was running from the thumb drive?
I may see if increasing the voltage, or testing from an externally powered drive would work. Need to get my hands on something for that effect, though. But that's a good pointer for the future - noted! Thanks!
I don't want you all to spend more time on this, I'm happy with the outcome of the exercise at least :)
Thank you all!
-
@edmaul69 hmmm, that sounds plausible. Out of curiosity, what's the amp rating on the power supply you used? USB 2.0 has specs for 500 mA (which means the USB drive can't have more than that, and is probably much less).
I also found this page about the compatibility of games and the PCSX-ReARMed emulator: https://www.reddit.com/r/RetroPie/comments/4t37fb/psx_compatibility_list/
It's not based on raspberry pi, so take it with a grain of salt, but ridge racer 4 didn't seem to have any obvious issues.
-
@pjft @Wulf i have a rockband powered usb hub with a canakit raspberry pi 2.5a power supply. And i have the same power suppy powering my pi 3. The flash drive ran perfect on the hub but not had issues plugged directly in. Upping the power might to the usb ports might help. I tested the rally games as well on the plugged in hard drive and they ran smooth on that. I didnt test them on the flash drive as i already found a problem in ridge racer.
-
@edmaul69 I wonder why you didn't see an undervoltage warning.... maybe it was just above the threshold or possibly the USB would take a spike in power consumption for a very short time...
-
I noticed annoying stuttering with PS1 games as well. I guessed the data could not be read be read from the USB flash drive fast enough. I re-formatted the flash drive using ext4 with a large blocksize and mounted it using the noatime flag, and noticed a lot less stuttering. The game I was using to test was level 1 of R-Type Delta bin/cue format.
The command to reformat the usb was this:
sudo mkfs.ext4 -b 4096 -L DATABAR /dev/sdc1
where databar is the name of the new volume, 4096 is the blocksize, and /dev/sdc1 is the device. Obviously this will completely wipe the flash drive.
Then it is mounted in /etc/fstab like this:
LABEL=DATABAR /home/pi/RetroPie ext4 defaults,noatime,nofail,x-systemd.device-timeout=5 0 2
Apparently for ext4 using the noatime flag is the big performance gain.
If you have a spare usb flash drive you could try it. -
@Wulf using 2.5a power supplies made for the pi 3 when used on every version of pi i get the power warning nonstop. Even on a zero and a b. I have it set to avoid warnings since it havent ever had a true voltage issue. The warning is just a huge annoyance that triggers non stop even when there isnt a power issue.
-
@pi2user @edmaul69 Thanks for the notes.
I'll have a last attempt at it. I reformatted my USB drive explicitly with 4k clusters (I'm not going as far as making it ext4, as that would defeat part of the purpose in having roms in the USB drive for me :/ ) and will see how the performance goes. I'll also add noatime, even though - as you mention - it seems to be more a factor when dealing with ext4 partitions, so might just be placebo. :)
Thanks all.
-
Just to close of this thread for the time being, the test was unsuccessful. I believe the problem lies with the games in particular, which I can live with. :)
Thank you all! At least now I have a 60hz refresh rate and a more performance USB drive :)
-
@pjft if you have a powered hub, you could try what edmaul69 said and use that to see if there's a difference. I mean, unless if you already tried that or don't have a powered hub, it's worth a shot.
-
@pjft Maybe related, maybe not.....as mentioned above, i have noticed the same stuttering in some 3D games on psx as well. I have been trying to figure that out and following your thread. I also was setting up some xbox 360 controllers per the request of my nephew, and on the psx games I was getting terrible controller vibrations as the wrong times and for extended amounts of time (another thread on that). I found that the only way to successfully stop the controller vibration was to go into each games controller menu and turn off the vibration. During hours of trials and errors with controller configs and boot configs and overclocking and standard clocking I realized that every time the controller tried to vibrate it would cause a slight jitter in the screen, every time the controller started to vibrate uncontrollably or at the wrong time, i had a split second stutter in audio and video. Go into the game, controller options, turn off vibration....no more controller vibration, and almost zero game stutter (there are still some instanced of slight imprefections, but i think that might be just game/graphic related and not the overall issue). Anyways, after 20 minutes on tony hawk where i had pretty good stutter before, I ran almost perfectly smooth with the neon enhancements and speed hack on. Not sure what controllers you are using? but regardless, you might want to just try turning off vibration, even if you controller doesn't vibrate as the rom might still be trying to send out that signal? Just a thought.
-
@TMNTturtlguy F'n A, that might just be it!
I am using old Sixaxis controllers (so, standard PS3 controllers but without vibration), and that makes so much sense as a hypothesis that it's almost surreal and very much possible. That would explain why the stutters happen mostly in racing games, and on crashing!
Obviously, as I don't have vibrating controllers (maybe that's even the problem!), I never even remotely made the connection.
I'll try that out and report back.
Wow. Even if it's not related, thank you very much on connecting the dots here!
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.