pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

Ape Escape 3 poor performance

Open z0z0z opened this issue 6 years ago • 31 comments

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.

z0z0z avatar Sep 27 '18 00:09 z0z0z

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?

mirh avatar Sep 27 '18 19:09 mirh

yep ive had this issue too the cinema room its like the 4th stage in the game

RinMaru avatar Sep 28 '18 02:09 RinMaru

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?

mirh avatar Sep 28 '18 07:09 mirh

Can you try "none" renderer?

mirh avatar Sep 28 '18 20:09 mirh

none renderer is still laggy

RinMaru avatar Sep 28 '18 22:09 RinMaru

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

RinMaru avatar Sep 28 '18 22:09 RinMaru

Editing the title now that we "discovered" graphics has nothing to do with it, wouldn't hurt. Try playing with clamp settings or gamefixes.

mirh avatar Sep 29 '18 09:09 mirh

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.

willkuer avatar Sep 29 '18 10:09 willkuer

Im on windows and can confirm its not exclusive to Linux

RinMaru avatar Sep 29 '18 14:09 RinMaru

https://pcsx2.net/download/releases/archive-download/category/2-archive.html

mirh avatar Dec 19 '18 19:12 mirh

To me the only difference is using Wine is quicker. The 2011 build and latest git through Wine looks the same to me.

refractionpcsx2 avatar Dec 19 '18 23:12 refractionpcsx2

What ref said. Also, I'm wondering if this isn't related to #2648

mirh avatar Dec 20 '18 12:12 mirh

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

gregory38 avatar Dec 20 '18 12:12 gregory38

Or it is due to the different threading model. But Mesa should be fixed first

gregory38 avatar Dec 20 '18 12:12 gregory38

Could this also help?

mirh avatar Dec 25 '18 17:12 mirh

is this still an issue ?

Mrlinkwii avatar Dec 09 '21 19:12 Mrlinkwii

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 avatar Dec 09 '21 20:12 HeroponRikiBestest

@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.

ghost avatar Dec 15 '21 19:12 ghost

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

TransparentBlue avatar Dec 15 '21 21:12 TransparentBlue

Is this still a problem?

refractionpcsx2 avatar Jun 13 '22 23:06 refractionpcsx2

Is this still a problem?

ill check

RinMaru avatar Jun 14 '22 00:06 RinMaru

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.

refractionpcsx2 avatar Jun 14 '22 00:06 refractionpcsx2

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. Screenshot 2022-06-13 203816 snaps.zip

RinMaru avatar Jun 14 '22 00:06 RinMaru

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.

refractionpcsx2 avatar Jun 14 '22 00:06 refractionpcsx2

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

RinMaru avatar Jun 14 '22 00:06 RinMaru

Vulkan probably isn't super great on the 6700XT, not sure, DX12 might be better for you on that. but yeah, hw readbacks

refractionpcsx2 avatar Jun 14 '22 00:06 refractionpcsx2

disable HW readbacks completely breaks the video with that enabled but gets rid of the lag too DX12 has the same slow down issue

RinMaru avatar Jun 14 '22 00:06 RinMaru

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.

refractionpcsx2 avatar Jun 14 '22 01:06 refractionpcsx2

How has performance been recently?

Mrlinkwii avatar Feb 13 '23 02:02 Mrlinkwii

How has performance been recently?

completely fixed with spin gpu readback

RinMaru avatar Feb 13 '23 02:02 RinMaru