RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.45k stars 1.92k forks source link

Inadequate SPU behaviour on Windows 7 #4785

Closed Psycho-A closed 6 years ago

Psycho-A commented 6 years ago

I made the issue #4643 about month ago and thought it's some CPU-related problem - but it seems that it's definitely SPU issue and how it behaves on Win 7. I made comparisons of all my 9 games on Windows 7 Home Premium and Windows 10 1607 in turn, on the same machine (4-core I5-2500, 8 GB RAM, GTX 750 Ti), and results are the next: 6 of 9 games that actively uses SPU, works very bad on Windows 7. These are Silent Hill Downpour, Demon's Souls, Red Dead Redemption, Saw: The Video Game (behaves 1:1 like Downpour), Uncharted: Drake's Fortune, WWE Smackdown vs RAW 2009.

The problems are the same for all games, and reveal itself like constant random emulation process stutterings with 100% CPU load with length from microseconds to several seconds, and with periods from one time in 5-10 seconds to many times in one second. If we enable RPCS3's performance monitor and set update time to 200-400, we can nicely see, like SPU load grows very high during those moments, and suppresses other threads.

Separately want to note that none of any available SPU emulator settings affects this somehow, and I also can't see some difference between SPU Threads 1, 2 and 3 - if earlier I got very rare stutterings with 2 threads and frequent on "3", now I get the same for 1 too. Maybe this is just broken on Win7 now? Also, no differences in that behavior between SPU Interpreter, SPU ASMJIT and SPU LLVM (just speed differences as usual).

The issue appeared after builds 6817-6852, and before everything was the same on both OSes. This PR (https://github.com/RPCS3/rpcs3/pull/4631) seems to be troubled because I'm no one who started to complain about stutterings right after this.

I really hope I gave enough info, and someone could find the roots of this crap, othwerwise the emulator become unusable on Windows 7.

JohnHolmesII commented 6 years ago

the emulator will be not useable on Windows 7.

and?

spyropt commented 6 years ago

@JohnHolmesII i'm still using windows 7 on an arcade cabinet I don't see myself changing to windows 10 anytime soon There has been lots of regressions lately in terms of performance and even games that just hang like soulcalibur V, wipeout... Lets just not report anything ...

Psycho-A commented 6 years ago

and?

What "and"? Still many people uses Windows 7, and it still supports much of good hardware that suitable to emulator requirements. Emulator worked fine on it before, and I can't see any reason to drop its support for now - if only developers won't to fix introduced bugs and just cut this OS for that "reason".

kd-11 commented 6 years ago

Its not as simple as you make it out to be. We don't actually know what was changed between the two OS versions; it would take a great deal of effort and time to find the trigger (including installing windows 7, running tests on it, profiling etc) which could take weeks. That said, considering even windows 10 is still having SPU issues, this might take some time before it gets fixed.

Psycho-A commented 6 years ago

@kd-11 I gave an emu.build number first time this disease appeared on Windows 7, and it contains PR which was merged, here's the link on it: https://ci.appveyor.com/project/rpcs3/rpcs3/build/0.0.5-6817/artifacts. Maybe rolling-back or analysis of this PR would help finding the problem...

I can test myself all test builds if someone would work on it.

Relsig commented 6 years ago

Kd-11 is right, it's not as simple as you think. The issue isn't always directly related to new code, sometimes it's old flaws that were covered up and only surface because the new code isn't masking it, other times an OS needs special considerations, and there are many, many more possible reasons.

If you aren't available to find the cause and program a fix all you can do is described your issue as accurately as possible and wait for someone to find a fix. Analysis will take time and there are plenty of other issues (code wise) around so you'll need to be patient.

Please bear in mind that every second a dev spends reading or replying to your comments is a second they're not available to bring their dream of a fantastic PS3 emulator to life. If your comment doesn't increase the accuracy of your description or shed new light on the issue you're just shooting yourself in the foot.

Psycho-A commented 6 years ago

I understand all of this, and tried to describe a problem as fine as I can (including testing all emulator builds to detect first troubled PR). In previous (false) issue I also attached two comparing videos one of games, which nicely demonstrates what happens - https://github.com/RPCS3/rpcs3/issues/4643#issuecomment-393375311.

Psycho-A commented 6 years ago

For more info, no differences in that behavior between SPU Interpreter, SPU ASMJIT and SPU LLVM (just speed differences as usual).

And, as I said, I can take to myself all testing work for future test builds, if this issue will start to explore.

Psycho-A commented 6 years ago

Still there are no any improvements in that direction, and won't ever happen already. Sad :(

Psycho-A commented 6 years ago

Problem on Windows 7 confirms by many Russian users on forums.

Relsig commented 6 years ago

If those posts have new, relevant information you should edit your post to contain it otherwise it's of no assistance in trying to pinpoint the issue.

Psycho-A commented 6 years ago

@Relsig First post already contains info about first troubled PR and emulator build. What else is needed? Had someone of developers tried to roll back that PR and make test build I could check on my system? No. Given this, I can conclude that they simply do not think about it since they and "most users" have Windows 10 (which I would argue...).

Relsig commented 6 years ago

Your attitude is atrocious. It doesn't bother me but I thought you should be aware.

My first post in this issue describes why you haven't seen any progress. Please re-read it and take it to heart.

isshininu commented 6 years ago

Did you tried to add RPCS3.exe in Nvidia Control Panel and enable V-Sync? Maybe this can help. Also, "Inadequate SPU behaviour on Windows 7" is the worst issue name ever :^)

mirh commented 6 years ago

5156

Psycho-A commented 6 years ago

@mirh 5156 is a refinement of related issue to avoid developers go in blind as it's the most likely and regular cause I can confirm. So I closed the current one.