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
DolphinQt: Rework TAS input threading #11622
DolphinQt: Rework TAS input threading #11622
Conversation
|
This PR isn't quite finished yet – the new approach is fully implemented for buttons, but hasn't been implemented for analog controls. I've opened the PR early to get feedback on whether my threading model is a good approach. |
|
The threading model seems fine to me. On master, holding a controller button and unchecking the box in the TAS window will result in the controller input and checkbox staying pressed. In this PR, the checkbox (and actual input sent to the game) will become unpressed. Is that change intentional? |
|
Yes, though the main reason I did it was so it would be consistent with how analog inputs worked so I could simplify the code. |
9ab6c5f
to
7bf3d59
Compare
|
Alright, this should be ready to go now. |
This gets rid of a blocking operation, improving performance and fixing https://bugs.dolphin-emu.org/issues/12893. This also makes us no longer directly access the state of certain UI elements from the CPU thread, which probably wasn't thread-safe but doesn't seem to have caused any observable issues so far.
IIRC we needed this before the input override system was added.
7bf3d59
to
0300b44
Compare
This gets rid of a blocking operation, improving performance and fixing https://bugs.dolphin-emu.org/issues/12893.
This also makes us no longer directly access the state of certain UI elements from the CPU thread, which probably wasn't thread-safe but doesn't seem to have caused any observable issues so far.
This is an alternative to PR #11620.