Post Reply 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What's with the ARM JIT for PPSSPP Why Is It Terrible?
04-23-2015, 04:00 AM (This post was last modified: 04-23-2015 04:01 AM by [Unknown].)
Post: #6
RE: What's with the ARM JIT for PPSSPP Why Is It Terrible?
Mali-400MP is one of the worst GPUs for PPSSPP unfortunately. It or its drivers can't cope with some of the shaders we try to create (not enough hardware registers, possibly?) and so it has to kick back into "slow mode" to be able to draw things properly. You probably see sometimes "falling back to software" that's what it shows when "slow mode" happens for the first time during a gameplay session.

1.4 Ghz isn't awesome, but it's probably not your limiting factor. Newer Malis (anything that isn't Mali-4xx) should be better.

A good heuristic to use is frameskip. Even if you max out frameskip (set it to e.g. 8 and turn off auto frameskip), the jit still runs 100%.

In other words, let me explain it like this. First, turn on the FPS display. Let's assume in a game you're getting 50% speed, stutters, bad audio, etc. because it can't keep up.

If setting frameskip to 8 only makes the graphics update slower, but it's still at 50% speed, the audio still stutters, etc. then you are somehow CPU limited. There's a decent chance that jit optimizations (if we could find good ones) might help at least a little.

If setting frameskip to 8 increases the speed %, then it's increasing because it's drawing less. That's the only thing frameskip skips - drawing. Obviously, the graphics will be unplayably bad (you'll be getting like 7 FPS even at 100% speed with frameskip = 8). But if the audio is better and the speed % is better, then drawing is the problem, not the jit.

Mobile drivers are often very very bad. And slow. It's a big problem, especially when trying to emulate games that interacted with a very light layer (on the PSP) which was pretty fast. Our best hope right now is Vulkan, which may let us have much more direct, much more efficient access to the GPU hardware (through a thinner driver, although still not as thin as the PSP's) - allowing us to circumvent the slow, buggy mobile GPU drivers.

But... unfortunately, the Mali-400 will probably never be graced with Vulkan drivers, because it's an older GPU. I'm sorry to say, but I really don't know what we can do for that GPU.

There are some games, especially 2D games, which may be able to run okay with auto frameskip 1 or 2. You'll need "slow effects" disabled, and probably also the "alpha test disable" hack. There will be graphical glitches with those settings.

Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
RE: What's with the ARM JIT for PPSSPP Why Is It Terrible? - [Unknown] - 04-23-2015 04:00 AM

Forum Jump: