hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.02k stars 2.15k forks source link

Jackass The Game runs super slow #13676

Open Panderner opened 3 years ago

Panderner commented 3 years ago

Jackass The Game runs super slow similar to Test Drive Unlimited and Killzone Liberation. Screenshot_2020-11-18-15-42-46-60_2f85358b2198d26f8aca533d68bee793 Screenshot_2020-11-19-10-02-53-18_2f85358b2198d26f8aca533d68bee793

It runs at 4-5 fps (5-6%) on Realme C2

Panderner commented 3 years ago

However it rans full speed on pc running windows on all backends: Screenshot (1)

Specs: AMD A8-7650K Radeon R7 GTX 770 8GB RAM Windows 10 Pro

hrydgard commented 3 years ago

GE frame dump?

Panderner commented 3 years ago

Yes Here's a GE Dump: recording.ppdmp.zip

hrydgard commented 3 years ago

Yeah this does the same thing as the Sonic games for color correction, but slightly differently - it actually textures directly from the framebuffer being rendered to, which (currently) forces PPSSPP to do "traditional" "depal" through a framebuffer copy. Not too bad on desktop, but gets horribly expensive on mobile tiler hardware :(

There are a few ways, more and less hacky, that we could fix this... For now your best bet is probably playing at 1x rendering resolution to reduce the speed hit but it'll probably still be too slow.

Panderner commented 3 years ago

Even 1x resolution can't run this game on my phone.

hrydgard commented 3 years ago

well, you'll have to run it on PC until I get around to figuring out a way to fix it. Good to have a report and a nice dump to repro it though, very helpful!

Panderner commented 3 years ago

Also POCO M3 rans full speed on all backends but Realme C2 does not: Screenshot_2020-12-16-11-23-06-048_org ppsspp ppsspp

Panderner commented 3 years ago

Performance comparison for this game:

POCO M3: Screenshot_2021-03-17-20-19-44-272_org ppsspp ppsspp

Realme C2: Screenshot_2021-03-17-20-19-49-62_2f85358b2198d26f8aca533d68bee793

71knight commented 3 years ago

Come to find out the helio P22 processor is only half as powerful as a Snapdragon 662. Especially in single Core test. So no wonder it runs the game slower than the other phone.

Panderner commented 3 years ago

This is a device issue not a ppsspp realme c2 is a weak phone unlike Poco M3 🤷

@Gamemulatorer can you test this game on your phone? We need testing more devices if the game runs super slow.

Panderner commented 3 years ago

It's running smooth on my Redmi Note 9 both VK and OGL

Oh ok

unknownbrackets commented 3 years ago

I think we could maybe more generically detect a situation where we have a:

And queue the draws separately to combine as a single batch. If they all had the same source texture and the same destination, it almost seems like we could ignore overlap checks in every practical case.

-[Unknown]

hrydgard commented 3 years ago

Not super easy to do that detection though, preventing flushing between the draws.

To do that sort of thing easily, ideally we'd generate a higher level representation of the frame that we could postprocess (higher level than current VK and GL renderqueues)....

Panderner commented 3 years ago

I tested Samsung Galaxy A12 (Not Mine) using vulkan. Screenshot_20210620-164628_PPSSPP It's a same gpu as my Realme C2

ghost commented 3 years ago

This game is also super lag 🤣

Panderner commented 3 years ago

This game is also super lag

@Gamemulatorer can you send me the screenshot?

ghost commented 3 years ago

Maybe this game is only lag and graphics issue on Mali GPU?

Vulkan

Screenshot_2021-08-23-17-33-31-645_org ppsspp ppsspp Screenshot_2021-08-23-17-32-59-020_org ppsspp ppsspp jackass.ppdmp.zip

OpenGL

Screenshot_2021-08-23-17-37-23-501_org ppsspp ppsspp Screenshot_2021-08-23-17-37-41-029_org ppsspp ppsspp

OpenGL got higher fps compare to Vulkan 🤔

Panderner commented 3 years ago

Thank you @Gamemulatorer for testing this game for your Redmi Note 9. I also tested my Realme C2 which is using a PowerVR GPU is also running slow, My POCO M3 and my PC runs smoothly.

hrydgard commented 3 years ago

Yeah, it's well known that this game is running slowly. It's gonna need some special tricks like the Sonic games.

ghost commented 3 years ago

Yeah, it's well known that this game is running slowly. It's gonna need some special tricks like the Sonic games.

So this issues is related to this https://github.com/hrydgard/ppsspp/issues/10908

hrydgard commented 3 years ago

Yes

Panderner commented 3 years ago

Maybe this game is only lag and graphics issue on Mali GPU?

Vulkan

Screenshot_2021-08-23-17-33-31-645_org ppsspp ppsspp Screenshot_2021-08-23-17-32-59-020_org ppsspp ppsspp jackass.ppdmp.zip

OpenGL

Screenshot_2021-08-23-17-37-23-501_org ppsspp ppsspp Screenshot_2021-08-23-17-37-41-029_org ppsspp ppsspp

OpenGL got higher fps compare to Vulkan 🤔

Umm @Gamemulatorer can you Lower the resolution to 1x?

hrydgard commented 2 years ago

Gonna see if the Killzone workaround #15934 can be adapted for this.

hrydgard commented 2 years ago

Nope, this one is more like Sonic Rivals, although it's not using a temporary buffer, it's doing "depal" directly from the framebuffer to the same pixels on itself in little tiles, somehow that doesn't cause conflicts on the hardware. Should have read my own post from before. We end up depal-ing the entire texture, for every tile, and there's a LOT of tiles.

Fortunately it's through-mode, we should be able to limit the region of the texture we depal for each draw fairly easily, and then maybe do a little post-rearrangement... Actually, it turns out we already do.

So all that's left now I think is to implement something like ApplySonicHack to the queue runner...

Panderner commented 2 years ago

My Realme C2 is broken unable to test this again hopely my Poco M3 runs ok for my phone this must be PowerVR GPU specific.

ghost commented 1 year ago

My Realme C2 is broken unable to test this again hopely my Poco M3 runs ok for my phone this must be PowerVR GPU specific.

This should improve now on your powervr gpu phone since there's a lot of improvement recently in powervr gpu https://github.com/hrydgard/ppsspp/pulls?q=is%3Apr+label%3A%22PowerVR+GPU%22+is%3Aclosed https://github.com/hrydgard/ppsspp/pull/16802#issuecomment-1411847872

hrydgard commented 1 year ago

Possibly, but the powervr improvements are mostly about speed of shader compilation and stuff like that. This game still runs very inefficiently and needs fixing.

ghost commented 1 year ago

Except for the performance issue of this there's also a graphics issue below the screen. HW Vulkan/OpenGL IMG_20230314_220736 SOFTWARE Screenshot_20230314_220544_2f85358b2198d26f8aca533d68bee793

hrydgard commented 1 year ago

New report from Discord, by "oh well":

I've tried to run it numerous times in the past, it never really works. Like it can load until the minigame menu, but when I try to play any of the first minigames (e.g. Pachinko Precipice), it gets stuck on the loading screen

ISASLIMBOY28 commented 7 months ago

Run really slow on Tecno Spark 10 Pro (Helio G88/Mali-G52 MC2/8GB Ram). On Vulkan, got 10ish fps. On OpenGL, Got 20ish fps.

hrydgard commented 7 months ago

I'm aware that this is still not fixed. It's a tricky one, haven't gotten around to it - the potential fix idea I have is quite fiddly.

Panderner commented 7 months ago

It's seems this game is likely runs very slow on non-adreno device.