rpcs3
rpcs3 copied to clipboard
[Regression] Perfomance drop after LLVM 16.0.0 update (#13534)
Quick summary
After updating RPCS3, the performance gets decreased.
Details
Before: 14845
After: 14854
Build with regression
v0.0.27-14854-6fbca1ac
Attach two log files
14845: RPCS3.log.gz
14854: RPCS3.log.gz
Attach capture files for visual issues
No response
System configuration
AMD Ryzen 5900X 12-Core Processor | 24 Threads | 15.89 GiB RAM | RTX 3080 driver 531.41.0.0 | Windows 10 Pro 22H2
Other details
No response
Not valid as range has more than one build, might be related to the LLVM update but we need the exact build
Also, needs retest with #13629
Definitely seems in line with the minor performance regressions i noted in the LLVM16 PR, but please test with 14846 to confirm that the LLVM16 PR is the responsible one @Ordinary205 https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-fb88e1c1c933a792f96600206ed03a07cd7c3661/rpcs3-v0.0.27-14846-fb88e1c1_win64.7z
See my comment here for prior testing done in the LLVM16 commit https://github.com/RPCS3/rpcs3/pull/13534#issuecomment-1496830374
Definitely seems in line with the minor performance regressions i noted in the LLVM16 PR, but please test with 14846 to confirm that the LLVM16 PR is the responsible one @Ordinary205 https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-fb88e1c1c933a792f96600206ed03a07cd7c3661/rpcs3-v0.0.27-14846-fb88e1c1_win64.7z
I didn't notice that the 14846 build was causing the regression. I thought it was the recent update but nevermind, I'll test the 14846.
I can confirm that the 14846 is a regression.
Thanks for the verification that the LLVM16 PR is the responsible one.
Is the performance restored in https://github.com/RPCS3/rpcs3/pull/13629
@Darkhost1999 I did some performance tests using 14845 and 14855.
InFamous 2:
14845:
14855:
Demon's Souls:
14845:
14855:
God of War III:
14845:
14855:
Sadly, some games like InFamous 2 and God of War III still has minor performance regression, but unlike Demon's Souls it gained a minor performance boost.
InFamous 2 Log: RPCS3.log.gz RPCS3.log.gz
Demon's Souls log: RPCS3.log.gz RPCS3.log.gz
God of War III log: RPCS3.log.gz RPCS3.log.gz
@Darkhost1999 I did some performance tests using 14845 and 14855.
@Ordinary205 Looking at your Infamous 2 screenshot results, performance is improved now and back to normal?
14845 - 33.88 FPS 14846 (LLVM16 build) - 29.24 FPS 14855 (LLVM16.01) - 35.99 FPS
So I'd say the Infamous 2 performance regression is fixed right? In fact, it's faster than even the older pre LLVM 16 master now from your own screenshots.
As for GOW3, 114 FPS and 113.94 FPS is within margin of error (less than 1% difference) so technically not even a notable regression per se.
I'd say the performance on Infamous 2 is almost fixed.
It just needs a little improvement, and then it gets fixed.
DeS isn't a good test, the framerate counter doesn't work properly in that game due to how it works. Your GoW 3 and Infamous test are showing basically the same avg fps despite major fluctuations and the usual run-to-run variance. The regression to performance looks like it was fixed by 14855 due to neko properly reverting a upstream LLVM commit that we identified as lowering performance (he reverted it in the 16.0.1 PR)
Can't see any reason to leave this open.
I think some issue still remains. I didn't revert upstream commit (it's not technically possible), I only did a workaround
Ok re-opened. But infamous fps difference on avg is 0.1 and GoW3 was 1.5 (but only after a random drop). Both games fluctuate a lot, i think RDR would be a better test or TLoU.. something that doesn't fluctuate a lot.
Should I test Red dead redemption?
Yes
So I tested Red Dead Redemption on 14845 and 14855.
14845:
14855:
Log: 14845: RPCS3.log.gz 14855: RPCS3.log.gz
Performance will need to be tested again in 14876. Expect performance to go down, because neko had to revert something to fix a regression
I might have to test 14876 on The Last of Us aswell.
Heres the results for Red Dead Redemption and The Last of Us.
Red Dead Redemption:
14845:
14876:
The Last of Us:
14845:
14876:
Red Dead Redemption: 14845: RPCS3.log.gz 14876: RPCS3.log.gz
The Last of Us: 14845: RPCS3.log.gz 14876: RPCS3.log.gz
Borrowing this Issue report to note that God of War 3 and God of War Ascension have also regressed in performance since #13670 got merged to master with 0.0.27-14876.
GOW3
14875 -129/95/70 FPS
14876 - 122/97/64 FPS
GOWA
14875 - 65/60/55 FPS
14876 - 61/55/51 FPS
Good thing that I'm not the only one who is experiencing a performance loss.
Test with https://github.com/RPCS3/rpcs3/pull/13672 Windows build just finished a few seconds ago
@Asinin3 Sorry if this is a dumb question, but how do I test this PR build?
@Asinin3 Sorry if this is a dumb question, but how do I test this PR build?
Download the artifact here
@Asinin3 Sorry if this is a dumb question, but how do I test this PR build?
Download the artifact here
Thanks
Don't link people to artifacts. That commit is already old, and we want people testing the latest commits on PRs. To download a PR build just go to the PR: https://github.com/RPCS3/rpcs3/pull/13672 > go to checks tab at top or bottom of page, then go to Cirrus Windows > View More Details on Cirrus > Artifact > download the artifact for the emulator, not the SHA file.
Another update to this issue report - after #13672 got merged to master in v0.0.27-14881, performance drops have been fixed for GOW3 and GOW Ascension, they are back to within margin of error compared to 14845.
The performance regression in Persona 5 that exists since LLVM16 got merged to master still remains.
14845 (last pre-LLVM16 master) - 97/72/63 FPS
14881 (current master with #13672) - 86/63/56 FPS
Sadly it still has performance regression on Persona 5, even after 14898 was released.
MGS4 is also suffering from performance loss after the LLVM 16 upgrade.
Pre LLVM 16
LLVM 16
The master build is about the same.