Skip to content
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

Fix Resistance Houfuku noToki draw slowly in OSK in debug log #5952

Closed
wants to merge 4 commits into from
Closed

Fix Resistance Houfuku noToki draw slowly in OSK in debug log #5952

wants to merge 4 commits into from

Conversation

sum2012
Copy link
Collaborator

@sum2012 sum2012 commented Apr 25, 2014

@unknownbrackets
Copy link
Collaborator

There's clearly some other timing issue here... it sounds like you're saying when it writes to the log (which takes extra time outside emulation), the OSK doesn't work? This should not happen; it shouldn't matter how long anything outside emulation takes.

-[Unknown]

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 25, 2014

oop, retest this game.
If run full debug log,it need 32 seconds to draw OSK
I hear some bad sound before draw OSK.

@sum2012 sum2012 changed the title Fix Resistance Houfuku noToki cannot draw OSK in debug log Fix Resistance Houfuku noToki draw slowly in OSK in debug log Apr 25, 2014
@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 25, 2014

@unknownbrackets I get an idea
Maybe this
snd_stream_d E[IO]: HLE\sceIo.cpp:1645 UNIMPL sceIoChangeAsyncPriority(4, 19)

@unknownbrackets
Copy link
Collaborator

Well, if it's just taking too long, maybe eating a (proper) amount of cycles in GetStatus() would solve it and also make it faster, or maybe making it log only changes or something.

-[Unknown]

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 25, 2014

Do I only do this in debug log ?

eating a (proper) amount of cycles in GetStatus() would solve it

@unknownbrackets
Copy link
Collaborator

Well, that function definitely takes some number of cycles on real hardware. And, if the game is calling the function in a tight loop, eating the same number of cycles that real hardware eats will call the function less, log less, and improve performance overall.

Anyway, this would be no less true for release than debug, except that it wouldn't change logging. It could still improve performance (e.g. on mobile) for this game at this particular spot, and it might improve audio too.

-[Unknown]

@thedax
Copy link
Collaborator

thedax commented Apr 26, 2014

This definitely isn't the way to go. Try having it delay or eat cycles, like @unknownbrackets suggested. How long does it take for the OSK to appear when using a release build or regular logging?

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

@thedax The OSK don't delay in release build or regular logging

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

omg.
My github has problem again

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

I think that I can do discuss first
I make change to PSPDialog.cpp or sceUtility.cpp ?

@unknownbrackets
Copy link
Collaborator

The Savedata one eats cycles in sceUtility.cpp. That was based on testing on a PSP.

-[Unknown]

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

I reopen

@sum2012 sum2012 closed this Apr 26, 2014
@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

I more question,do debug log wait 4 second okay ?

@sum2012
Copy link
Collaborator Author

sum2012 commented Apr 26, 2014

Try hleDelayResult,seem easier to solve

@unknownbrackets
Copy link
Collaborator

That reschedules, which is probably not what it really does.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants