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

SPU LLVM: Postpone cache writes until compiled #15285

Merged
merged 2 commits into from
Mar 8, 2024
Merged

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Mar 7, 2024

Make SPU threads happy by releasing the LLVM block pointer as early as possible by writing block data to disk after it is compiled and SPUs see and able to use it.
Aims to improve perforamce while compiling SPU blocks ingame.

@elad335 elad335 added Optimization Optimizes existing code LLVM Related to LLVM instruction decoders labels Mar 7, 2024
@elad335 elad335 force-pushed the postpone branch 3 times, most recently from 9757081 to 8c1bdac Compare March 7, 2024 21:11
@elad335 elad335 merged commit 719dafa into RPCS3:master Mar 8, 2024
6 checks passed
@Augusto7743
Copy link

That PR 15285 and previous 15282 are more faster to create SPUs in less time even in cpu 6 threads amd fx.

@Augusto7743
Copy link

Motorstorm Pacific Rift not run 100 % in AMD FX even in fx 8 cores. However I need report an detail.
Motorstorm Pacific Rift console gameplay speed is 30 FPS.
The demo version run in fx-6300 6 cores in previous build being below of 15 FPS and need start the game twice to create correctly all spus and shaders cache an need long time waiting spu creation in gameplay.
Now with that PR 15285 and previous 15282 all spus and shaders cache are created faster in first startup not having long time as was in previous build and other good detail is now the gameplay is between 18 ~20 FPS in an amd fx 6 core !!!
I never will wait run that game in fx 6 cores with good performance, but that PR have done an good improvement and possibly an huge boost in high end cpus.
I see as if now are created correctly all spus, but are much less number of spus if compared with previous build. The game run without errors. All graphics are correctly rendered without crashes or sound errors.

I have tested few others games cleared spus and shaders cache and are more faster to create spu having few more FPS ( 2 or 3).
Perhaps that better performance is because now are being created less spus and before had useless spu tasks ?

You have done an good job =)

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.

None yet

2 participants