-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Core/State: Rewrite threading behavior when multiple Save requests are happening. #10547
Merged
AdmiralCurtiss
merged 3 commits into
dolphin-emu:master
from
AdmiralCurtiss:save-state-threading
Oct 1, 2022
Merged
Core/State: Rewrite threading behavior when multiple Save requests are happening. #10547
AdmiralCurtiss
merged 3 commits into
dolphin-emu:master
from
AdmiralCurtiss:save-state-threading
Oct 1, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
iwubcode
reviewed
Apr 1, 2022
10b49b5
to
8553edf
Compare
iwubcode
reviewed
Apr 1, 2022
8553edf
to
102fcc8
Compare
Just confirming this branch does not resolve The improvements should be kept regardless though |
102fcc8
to
98bca7d
Compare
8738f31
to
15f2ad9
Compare
dreamsyntax
approved these changes
Apr 25, 2022
15f2ad9
to
97b0db4
Compare
97b0db4
to
648c2e8
Compare
648c2e8
to
4c21c96
Compare
iwubcode
reviewed
Jun 5, 2022
4c21c96
to
93c492f
Compare
93c492f
to
0e3702a
Compare
0e3702a
to
e642fd8
Compare
e642fd8
to
92909fa
Compare
iwubcode
reviewed
Aug 15, 2022
92909fa
to
3a63d8b
Compare
… all currently queued tasks to finish when shutting down the thread.
…e happening. Should improve responsiveness when eg. mashing a save state button.
3a63d8b
to
f3a23db
Compare
This has been sitting here for a while and we're a few weeks away from a beta, so I'm just gonna merge this, alright? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While trying to determine the cause of #10546 I noticed that there's some unfortunate locking happening in the state saving construct, which could lead to us temporary locking up if a second savestate request comes in or if emulation is paused while another is still compressing/writing to disk. This is my attempt to improve this.
In my experience it's noticeably more responsive now saving multiple states in a row or trying to load right after saving, at least when I artificially increase the savestate disk writing function time with Sleep(), which should be roughly equivalent to writing to a slow HDD. Saving a state and then pausing the game also no longer locks up the emulator until the state is done saving.