pcsx2
pcsx2 copied to clipboard
Ape Escape 3 poor performance
PCSX2 version: 1.4 and recent development versions from git.
PCSX2 options: Tried literally everything, nothing helps it.
Plugins used: GSdx SSE4/AVX
Description of the issue: Most areas of the game run slow due to high CPU usage, particularly 1 thread eating 100% of CPU while not utilizing other threads.
I can run other games fine with plenty of CPU resource left to spare. This game is abnormally slow, possibly indicating an area in PCSX2 which could use optimization or a bug fix.
There is a "cinema room" area in stage 4 that causes a particularly severe FPS drop, most likely no matter how powerful your hardware is. This is noted as a "Known issue" on the PCSX2 wiki.
PC specifications: Xeon 1230v2, RX580, have used latest mesa/llvm and stable.
OpenGL is the king renderer here. And in turn amd is the king supporting opengl (on linux).
What distro are you using? And could you try to start pcsx2 with mesa_glthread=true
?
Does this only happen to that game?
yep ive had this issue too the cinema room its like the 4th stage in the game
The only thing I'm not able to test is DX11/DX9 renderer, my hunch is that there is possibly a bug in the OpenGL renderer which causes abnormally high CPU usage in this game.
Not sure why impossibility to run DX would entail opengl is bugged. Did you try different presets in the emulation settings? And what about software renderer?
Can you try "none" renderer?
none renderer is still laggy
the lag is eliminated completely when you pause and even when exiting the stage you get a half a second glimpse of the area with no lag
Editing the title now that we "discovered" graphics has nothing to do with it, wouldn't hurt. Try playing with clamp settings or gamefixes.
Oh man you have an attitude... it’s amazing.
As you said MTVU doesn’t help I assume that VU is heavily used. Please verify that by letting the game run without MTVU and check indicators of fps, EE and GS. I’d expect EE to be at 100% and GS (possibly much) less than 90%. Also your gpu should be mostly idling and changing internal resolution moderately doesn’t affect game performance at all.
When you enable MTVU your fps might change slightly, EE% will go down und VU% rise above 50% (where MTVU often starts to become useless). Again gpu is bored and changing internal resolution doesn’t change performance.
If that’s the case there is not much you can do except for checking whether superVU is better than microVU and/or change VU clamping to none to get a small speed boost with possible graphics corruption side effects.
Game performance can only be improved by a few fps via settings. If your starting point is below 50% you could stop and play this game on your real ps2 or go on with the next game from my point of view.
Some general remarks:
MTVU doesn’t work nicely because this game heavily lets EE and VU thread synchronize which means all benefits of multithreading are gone. That’s not uncommon and not easy to solve in case it is possible. This is something not only pcsx2 is struggling with.
The mentioned gpu driver issues are not out of nowhere as gpu drivers can create cpu/gpu usage inefficiencies. To say that your gpu is bored and thus it’s not the driver’s fault is not reasonable.
To expect a performance improvement by a dev just looking into the game is not reasonable as well. First of all the core is not often touched nowadays and if at all only to improve accuracy to e.g. fix the last missing games for total in-game coverage. That’ll typically only make the emulator slower.
Then even if core would be touchable a lot of devs would hesitate to do it to not introduce regressions. There are no unit tests or integration tests for this project apart from manual testing (pcsx2 was just written before TDD and similar approaches went popular). So major refactorings are not within reach and small code adjustments will most likely not solve your problem.
In any case I’d highly suggest to either respect and consider the hints that were provided here by others because they have more clue what they are talking about or inform yourself better in advance by reading the blog/forum/general coding info. Just telling testers ‘I want you to test that and that’ and devs ‘I want a dev to look into sth sth’ in bold letters is not a proper way of communication.
Im on windows and can confirm its not exclusive to Linux
https://pcsx2.net/download/releases/archive-download/category/2-archive.html
To me the only difference is using Wine is quicker. The 2011 build and latest git through Wine looks the same to me.
What ref said. Also, I'm wondering if this isn't related to #2648
No. Issue is mesa which isn't multi-threaded well. I sent some patches year ago. It was not merged. And I didn't have time to bother people to merge them.
So instead wine take care of multi-threading
Or it is due to the different threading model. But Mesa should be fixed first
Could this also help?
is this still an issue ?
I could check, but does anyone know where this theater is? "Level 4" isn't helpful, the game doesnt number its stages, and what seems to be level 4, Saru-mon's castle, doesn't appear to have a theater.
@HeroponRikiBestest
I could check, but does anyone know where this theater is? "Level 4" isn't helpful, the game doesnt number its stages, and what seems to be level 4, Saru-mon's castle, doesn't appear to have a theater.
It's actually stage 5. Called "Specter TV Studio". There's a movie theater section in it.
@Mrlinkwii
is this still an issue ?
I have a Ryzen 3600 now and it runs it much better than on my old CPU, but even that isn't enough to not have slowdowns in the movie theater of stage 5 . Something it does there is just extremely demanding with PCSX2.
Maybe if I had a 12900K/Ryzen 5800 it would run that section fine. A 3600 runs the rest of the game fine.
For the record, I absolutely don't care if you close this issue.
iirc even just using the picture in picture function of the radar would easily halve framerate (sometimes to below 100% speed even on a 5900X), the theater issue might be similar in nature
Is this still a problem?
Is this still a problem?
ill check
If it is, can you post a screenshot of the slow area with all the metrics on screen (like EE, GS etc %'s)
and a GS Dump (under the Debug menu of the Qt builds) would be cool too.
If it is, can you post a screenshot of the slow area with all the metrics on screen (like EE, GS etc %'s)
and a GS Dump (under the Debug menu of the Qt builds) would be cool too.
snaps.zip
Okay well I get 200+ FPS on that, what is your GPU?
You can also increase your FPS by disabling HW readbacks, which is under Graphics->Advanced under the Game Properties.
Okay well I get 200+ FPS on that, what is your GPU?
You can also increase your FPS by disabling HW readbacks, which is under Graphics->Advanced under the Game Properties.
RX6700XT
Vulkan probably isn't super great on the 6700XT, not sure, DX12 might be better for you on that. but yeah, hw readbacks
disable HW readbacks completely breaks the video with that enabled but gets rid of the lag too DX12 has the same slow down issue
yeah, readbacks are painful, and not really solvable, unfortunately..
Maybe somebody will come up with a cunning optimisation at some point (at the moment it actually tries to cheat with the readbacks disabled, but doesn't work for everything), but it requires downloading the image from the GPU, reswizzling it in to GS memory, then sending it across a thread to the main emulator, it's a slow, horrible process.
How has performance been recently?
How has performance been recently?
completely fixed with spin gpu readback