PSX stuttering in some 3D games
-
@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!
-
@pjft let me know what you find out, i am interested to see how your setup performs.
-
Short of adjusting the vram amount, i use retropie stock with no overclocking and no extra enhancement settings turned on, with video smoothing turned off and PS1 (Ridge Racer type 4 in particular) runs smooth as butter without a single hiccup.
I also use wired controllers.
I've found that stock retropie runs pretty much everything fine until you start messing with settings. It's pretty optimized out of the box.
Try a fresh install on a different SD card, load the offending game without adjusting any settings except turning video smoothing off. If it runs fine, adjust settings one by one until you find the problem. I'm betting it's an issue with overclocking, the pi 3 really doesnt need it.
-
@Capeman no, this issue has nothing to do with the overclocking, and my testing is always done with overclocking turned off. I start all my testing with a stock build and once it runs correctly, I add settings to get things where i want them. The stutter takes place on certain games with a stock build. I cant comment on the wired controller, but that might play into why yours is running smoothly, and that is what I am thinking we should be testing out. Great input regarding no issues with the wired controller. Thanks
-
@TMNTturtlguy @pjft i use a sony brand ps3 wireless controller with vibration. I get no vibration at all. Not sure why. But not using the powered hub was my only problem.
-
@TMNTturtlguy Let me know what other games you have tested that are stuttering, if i have them in my collection, i'll try them out and see if i am getting the stuttering.
So far i've never seen a stutter in any psx game i've played, i remember that exact stuffer you are describing from the days when i was using a Pi 2, but as of the 3, I haven't experienced any.
-
-
@Capeman Thanks for the note.
Indeed, it is a very elusive thingie, and given that some do not exhibit it - and the fact that performance improved when I switched to 60Hz - may suggest that there may be some other factors at play.
I do have a bit of overclocking at the moment, but I may revert it as it was mostly for Dreamcast, which I end up not playing much of anyway.
Could you test something, if you have the chance: @edmaul69 seemed to confirm the same behavior in R4, so in the Yokohama / Helter Skelter race, in the long tunnel with the curves could you try deliberately crashing a few times consecutively against the right / left wall, and see if you get any stutter?
No urgency, but that seems the be the case that most people here can agree to causing the stutter, which may indeed be related to attempting to vibrate in an unsupported controller, even though it thinks it should be able to given that it's a Sony controller.
I'll test it out in a moment - I have a wired controller as well, so I'll report back.
Thanks all!
-
Ok, so wonderful news: R4 on a wired controller runs smooth as butter.
It might be bluetooth + vibration.
I'm trying now Colin McRae with the same wired controller, just to double check.
Then I'll run both again with the DS3 Sixaxis over bluetooth.
Well done team! (yes, I mean all of us in the thread :) )
EDIT: so, yes, Colin McRae runs smooth as butter as well.
@TMNTturtlguy where do you disable vibration, though? Is there a controller setting in RetroArch for that?EDIT 2: Hah. What would you know?
@dankcushions you might be familiar with this, actually. See this thread from 8 months ago when this was introduced and someone commented on this exact problem. :)
And this one as well.
Are you aware of a core option for vibration that I may be missing? Or what was the outcome of those discussions?
Thanks!
-
Deleted
-
@pjft ok you might be right. I am having issues now on wireless. I think i was playing wired charging my controller at first. I am going to test wired on the flash drive. I will get back to you on it.
-
I don't use any bluetooth controllers with my setup, i find the lag to be too heavy for retro games, i save my 8bitdo controllers for my mac.
Wired controllers give the least lag and the best experience.
I use wireless via a logitech wireless rumblepad sometimes, no negative effects there, its faster than bluetooth and has none of the quirks because it runs from usb, but the bulkiness and analog sticks just dont feel authentic.
-
@pjft I spent a lot of time on this last night and only came up with the fix in this thread, I decided not to test it out as I don't want to slow down the speed of my usb drives. Link
For the xbox 360 controllers there is no core options or boot configs to allow you to turn off the vibration. You have to go to the games menu, go to the controller setup for the game and turn off the rumble/vibration. For most games, if you have a saved game, it will remember the setting. Otherwise you will have to change this setting in game every time you play. It is not ideal, but it fixes the stutter! Any further testing? Did this fix most of the issue? Thanks
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.