-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an option to prevent cpu stall on slow IO #7227
Conversation
enum IOTimingMethods { | ||
IOTIMING_FAST = 0, | ||
IOTIMING_HOST = 1, | ||
IOTIMING_REALISTIC = 2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused, but I understand you reserve this for your iominor2 changes? Ah you even addressed that in your pull request message, alright.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I'll probably mess with it soon. I had found a bug in sceIo but hadn't really looked into it properly, and forgot:
unknownbrackets@815c0a3
Matters a lot more for longer delays... guess this needs it too, really.
-[Unknown]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, rebased it in and option is used now. REALISTIC may be buggy but should be off by default.
-[Unknown]
This is good for any slow storage, including: * Hard disk spinning up. * Generally slow (cheap) SD cards. * HTTP or Samba streaming. May possibly cause bugs in some cases where timing is unrealistic. That being said, as long as the game is a UMD game, and there's caching (could enable memory caching for storage), it should not be a problem usually.
Oops, was waking threads but not bumping events.
5f2fd6f
to
0599c04
Compare
This allows the filesystems to more accurately control timing. But they're not actually doing it yet (same timing as before.)
Alright. Would be interesting if we could find a game that really, really needs SAFE, otherwise we could remove that option later.. |
Add an option to prevent cpu stall on slow IO
Well, it'll be really hard to tell, though. Like, it might be a bug that only manifests when your disk has to spin up or there's other disk activity / storage device activity happening. -[Unknown] |
fast and host break games: world neverland,ys7 |
Hmm, maybe I missed something in the option. -[Unknown] |
Hmm, interesting that Host timing helps one. Maybe we are simply underestimating too much for fast? All of the fast timing is way on the low end estimate wise. Maybe we can add some logging to see when host is delaying things to find out what it's fixing in that game. I'll have to look at World Neverland to see what's wrong, it's broken in the demo too, right? It wouldn't happen to affect Radiant Mythology 1 would it? -[Unknown] |
World Neverland demo is also affected,it's much laggy with Simulate UMD delays even press start button in the title,you can feel laggy. |
Does it seem any better if you change For me, the Neverland demo especially at loading screens is a bit slow, but not really unbearable. It's possible that we'd be better off trying to also emulate the UMD cache that PSP-2000+ have. Right now, the speeds it's targetting are basically PSP-1000 speeds. What do I do to get to the broken part in Neverland? -[Unknown] |
Actually the slow is the broken part I mean in Neverland ,walking in the street may get weird fps like 23/23 48/48,get stuttering. still not help Radiant Mythology 2,get Invalid address in loading save,characters missing in dungeon,and hangup when leaving dungeon. |
Simulate UMD delays breaks Ghost in the shell,it hangs on skipping cutscene. |
This is good for any slow storage, including:
May possibly cause bugs in some cases where timing is unrealistic. That being said, as long as the game is a UMD game, and there's caching (could enable memory caching for storage), it should not be a problem usually.
This significantly improves the gameplay experience when streaming games from HTTP, because you get natural loading screens or short stalls with backgroud music playing (as would happen on a PSP) rather than lag.
I'm also thinking to pull in my io-minor2 changes (potentially making it more accurate now/future) as a "realistic" timing option.
Since fast is probably the best compromise between safe and not having annoying loading screens, I'm not sure there's any good way to avoid an option. Would appreciate any suggestions on better phrasing.
-[Unknown]