-
Notifications
You must be signed in to change notification settings - Fork 563
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
[Feature Request] #6978-JIT-Sparse-function-table from test build fork #39
Comments
I am trying to compile this branch for testing, but using git to clone branches of projects is a pain, I tried to run git clone https://github.com/Ryujinx-NX/Ryujinx/tree/%236978-JIT-Sparse-function-table but it just tells me repository not found. Has anyone else actually successfully compiled this version? Or at least could tell me what command to run to clone this specific branch and not the Ryujinx-NX master? |
You're supposed to clone the repository, and checkout branches or commits, not directly clone branches |
Thanks Greem, I compiled it successfully, now to test it. |
Here is a link to the build I compiled in case anyone else wants to test it, hopefully I didn't end up compiling a slow debug build or something like that https://drive.google.com/file/d/1cKXW0JKLZSqt3rQjF20k_g0FFQ38NYL7/view?usp=sharing |
|
This comment was marked as outdated.
This comment was marked as outdated.
OK, here is my own personal regression test with a game I know to be prone to crashing: Xenoblade Chronicles 2. There is a feature called the Events Theater, which allows users to rewatch cutscenes that they already saw playing through the game. One of these cutscenes, "After Bana!", in Chapter 4: Aegis, reliably causes the game to crash every time it is run on yuzu, unless CPU Accuracy is set to Paranoid (disables most optimisations). Notably, these same cutscene, when run from the Events Theater in Greem's Ryujinx, will never cause a crash, even when the Memory Manager Mode is set to Host Unchecked (fastest, unsafe). Nor does this issue occur in the Sparse JIT build, indicating that at least for this title, the performance benefits of using a sparse jit table do not come at the cost of accurate CPU recompilation. |
By the way, I would also like to advise people to delete the PPTC cache for any games they plan on testing if they are using the same user folder as for Greem's build, it is possible that PPTC caches for the Greem build may not be fully compatible with the Sparse JIT build, so right click on the game you want to test, go to "Cache Management", "Open PPTC Directory", and delete all files and folders you find in the window that is opened. |
Seems like they aren't compatible, the JIT Sparse changes change a version constant in Ptc.cs |
Yes, it's likely that if this were to be merged upstream, people would have to delete their existing PPTC cache. Anyway, for the time being, I am switching to using the Sparse JIT build for playing through the three xenoblade games, I will report back if I can isolate any accuracy regressions to the Sparse JIT changes. |
New build from Greem, merging the Sparse JIT functions into this fork: For Windows users Please use these instead of my links in the post above. |
Closing this issue as this is now an open PR. Please go there for testing discussion |
Overview
Someone more able than me who could look up to this branch fork https://github.com/Ryujinx-NX/Ryujinx/tree/%236978-JIT-Sparse-function-table from peri peri work, could be a huge boost into performance since it was never merged due to no reviews, i guess its big work for someone else that could do, im leaving this here for the preminent future
Smaller details
build test: https://www.youtube.com/watch?v=zY8nP1iu5ls
Nature of request
hoping this could be helpful for someone that actually contributes
Why would this feature be useful?
Performance upgrade
The text was updated successfully, but these errors were encountered: