Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Poor CPU utilization Android
04-09-2021, 06:10 PM
Post: #1
Poor CPU utilization Android
Using a CPU monitoring app, I was shocked to see PPSSPP utilizing my slowest 4 cores running at 1.8 gigahertz on my Snapdragon 855 chipset. I still have 1 gigahertz to spare but PPSSPP doesn't use it. I was running MotorStorm Arctic edge at the time of the test. Even utilizing the slower cores, I almost got full speed with some stuttering here and there. Why does PPSSPP use the slower cores? I guess I'm going to have to root my device and put in an aggressive CPU governor and manually set my desired CPU speed but I wish I wouldn't have had to do that.
Find all posts by this user
Quote this message in a reply
04-10-2021, 04:17 PM
Post: #2
RE: Poor CPU utilization Android
Quote:I still have 1 gigahertz to spare but PPSSPP doesn't use it.

This surprises many people, but there are two reasons:

1. Your phone OS decides whether PPSSPP uses slow or fast cores. It is trying to balance heat production and battery drain with performance. Any app that uses significant CPU for an extended period of time may be relegated to slow cores.

The reality is that some apps manage their CPU usage poorly, but still run fine on slower devices. At the end of the day, people buy phones more when they get better battery life. What other choice did your phone manufacturer have? If they didn't prevent apps from sucking your battery dry, no one would buy their phones.

2. As much as everyone is convinced (from emulation of other systems) that CPU is where performance stops and ends for PSP emulation, typically most people are limited more by GPU performance than CPU performance.

This is why PPSSPP is not using all your CPU power. It doesn't need it, and using that extra power wouldn't help. It needs the GPU.

We do have code to use the CPU only and not use your GPU at all. It's incredibly slow. On phones, contributors to PPSSPP have often joked that you need to measure its speed in "seconds per frame" because frames per second would be so low.

So instead, we use your GPU pretty heavily. But honestly, a lot of phones have terrible GPUs (way better than using the CPU even so.) Worse, a lot of phones with decent GPUs have terrible OS drivers that make poor use of the GPU. This means sometimes the GPU isn't even maxed out either, even though we're sending it work constantly.

That's also why frameskip and graphical settings often have the most impact on emulation speed. They directly control the amount of work your GPU is doing. Those settings barely affect the CPU at all.

-[Unknown]
Find all posts by this user
Quote this message in a reply
04-10-2021, 06:07 PM (This post was last modified: 04-10-2021 06:08 PM by Dukatti.)
Post: #3
RE: Poor CPU utilization Android
sorry to step in, maybe "technology"/forced_governor of selecting[finding?] of highest_frequency core/thread for Android is a good idea? [like it exists for Windows rpcs3] And some of the long-time playing Android native video games are already using it somewhere in their closed source? [1.8GHz might barely fit in like first described, and 2.42GHz, 2.84GHz are like second-mentioned more then CPU enough]

Magichost, if you are lucky to have a device with prebuilt access to install programs, read and write data on Memory Card, having good sound, Multiwindows, Nightlight filters then you can be with no root. Try to check settings from this thread first:
Guide:- Maximizing the performance of PPSSPP on your Android/Windows device.
Find all posts by this user
Quote this message in a reply
04-12-2021, 04:31 AM (This post was last modified: 04-12-2021 05:11 AM by Magichost.)
Post: #4
RE: Poor CPU utilization Android
So what adreno GPU and backend would you recommend to run MotorStorm Arctic edge full speed? I believe this game is the most demanding PSP game there is. So there's nothing that could be done to get the adreno 640 to run the game full speed? On the flip side I think Android OS should provide performance settings that the user can change to maximize performance or to save power. I don't think the Snapdragon 855 chipset would have any throttling issues and I think the battery would last a fairly good time. (BTW.... I noticed when I slide my finger on the screen during the replay of the races that it boost my CPU clocks and gets rid of most of the stutter. So maybe maxing CPU frequency will work after all!)
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: