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

PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests #14408

Merged
merged 3 commits into from
Aug 3, 2023

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Aug 1, 2023

Needs PPU cache removal and rebuilt to test the pr.
Not to be merged before #14404 so perf comparison would accurate to what it was earlier.
Although testers are welcome.
Imnproves Persona 5 performance a bit.
May improve #14386

@elad335 elad335 force-pushed the plain branch 3 times, most recently from 0a7e714 to 49d0810 Compare August 1, 2023 06:40
@elad335 elad335 added Optimization Optimizes existing code LLVM Related to LLVM instruction decoders labels Aug 1, 2023
@brian218
Copy link
Contributor

brian218 commented Aug 1, 2023

Since PPU cache needs to be rebuilt after this PR, would you mind refactoring the syscalls in sys_game.cpp (by removing the underline prefix) as well as those in sys_game_.cpp (add underline prefix or suffix) by the way?

@elad335
Copy link
Contributor Author

elad335 commented Aug 1, 2023

I mean, I don't enforce its removal. Its just so the users can access this change of code.

@elad335
Copy link
Contributor Author

elad335 commented Aug 1, 2023

I made the pr automatically create new cache but this commit would be removed before merge.
If you want to clean new cache created with this pr remove the files conatining "removable-14408":
image

After this pr is merged you still need to rebuild cache to use the new ppu llvm code because of the reverted invalidation.

@solarmystic
Copy link

Did the usual 5 game test, wiping all prior PPU cache before hand. Persona 5 did get a modest bump of 4 FPS compared to latest master, the rest are within margin of error (+2 to -1 FPS compared to master).

image

@elad335
Copy link
Contributor Author

elad335 commented Aug 1, 2023

Added another optimization, idk if it actually improves anything and may behave differently between different CPUs, please retest.

@Ordinary205
Copy link
Contributor

Heres the performance comparison on RDR.

Master: 28.2/29.7/30.6 FPS

Screenshot

RDR FPS 2 (2)

PR: 27.4/29.3/30.2 FPS

Screenshot

RDR FPS 1 (2)

@elad335
Copy link
Contributor Author

elad335 commented Aug 1, 2023

And if you use the build of the previous commit?

@Ordinary205
Copy link
Contributor

I've haven't tested the previous commit.

@elad335
Copy link
Contributor Author

elad335 commented Aug 1, 2023

I mean, it's available.

@Ordinary205
Copy link
Contributor

Oh, I didn't know you could test the previous commit when the new commit was released, my bad.

@Ordinary205
Copy link
Contributor

Anyways, heres a performance result that was tested on the previous commit.

PR: 27.8/29.5/30.5 FPS
RDR (2)

@solarmystic
Copy link

solarmystic commented Aug 1, 2023

After commit 493d4e4 was added, nothing really changed for DeS, GOWA and GOW3, but Persona 5 and TLOU gains from master diminished by 1 FPS compared to the previous commit.

image

@cipherxof
Copy link
Contributor

Very minor (if any) differences in MGS4.

First commit

eladpr

Commit 493d4e4

eladpr2

Latest Master

image

@elad335 elad335 force-pushed the plain branch 5 times, most recently from bbc0f4d to 446a7c1 Compare August 3, 2023 11:03
@elad335 elad335 merged commit 9f625de into RPCS3:master Aug 3, 2023
5 checks passed
@elad335 elad335 deleted the plain branch May 6, 2024 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LLVM Related to LLVM instruction decoders Optimization Optimizes existing code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants