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

VU: Run sync ahead on small blocks & Rework VU Kickstart #5572

Merged
merged 3 commits into from
Feb 28, 2022

Conversation

refractionpcsx2
Copy link
Member

@refractionpcsx2 refractionpcsx2 commented Feb 27, 2022

Description of Changes

Attempt to run the VU (VU0 mainly) ahead if it's only running a small block, to try and reduce overhead.
VU Kickstart is now always on and is replaced with a VU Sync option as less games need the sync than the run ahead.

Rationale behind Changes

Running blocks of like 3 cycles is very inefficient when you factor in entering and exiting a recompiler, so this makes sure at least a more reasonable amount of cycles is run.

Suggested Testing Steps

test games, compare to master.

Some preliminary numbers:
Tekken Tag: 80-82 to 82-84
Ratchet & Clank: 102-105 to 110-113
Mike Tyson Heavyweight Boxing: 100 to 102
Ratchet & Clank 3: 75 to 82
Jak 3: 118 to 120

Mixed with #5571 (which has now been rebased in) Ratchet & Clank has gone from 105fps to 122fps at the beginning of the first level, a nice little boost, so these two PR's bring a combined boost of somewhere between 10-20% in a bunch of games.

NOTE: This will NOT affect all games, you have to be EE thread limited and the game has to be VU0 heavy (which isn't a great deal) for it to have much effect, so in most scenarios you probably won't even notice a difference.

@refractionpcsx2 refractionpcsx2 added this to the Release 2.0 milestone Feb 27, 2022
pcsx2/VUmicro.cpp Outdated Show resolved Hide resolved
@refractionpcsx2 refractionpcsx2 changed the title VU: Run sync ahead on small blocks VU: Run sync ahead on small blocks & Rework VU Kickstart Feb 27, 2022
@refractionpcsx2
Copy link
Member Author

Blown the scope of this PR out of the water and reworked VU Kickstart to always be on and added a new VUSync option for the games which don't like it, since there's only a handful of games, instead of 222 entries for kickstart.

@refractionpcsx2 refractionpcsx2 merged commit 2c33bf8 into master Feb 28, 2022
@refractionpcsx2 refractionpcsx2 deleted the vu_minsync branch February 28, 2022 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants