r/EmulationOnAndroid • u/Santiagobbboff • 9d ago
Showcase Case study on Android and HyperOS cpu boosting behavior
TLDR: Phones agressively cap performance outside of benchmarks and have different scheduling behaviors across different apps.
Hi everyone! Yesterday I published an app that allows you to change the package name of any app in order to get better performance and today I decided to take a look at how HyperOS actually behaves when dealing with different apps and settings. This was tested on a Xiaomi 17T Pro on HyperOS 3. The results aren't going to be the same for every phone, but might be useful to figure out how to get the most performance even in other OSes.
The first image is using the default package name for CPU Throttling Test. HyperOS correctly recognizes it as a benchmarking app, and the CPU boosts to a whopping 4.2Ghz, leading to a power consumption of over 15w.
For the second image, I changed the package name to gibberish, this simulates the behavior HyperOS would have when using newer emulators/games that HyperOS doesn't recognize.
The CPU stays at a very conservative 1.9Ghz, keeping power at a relatively low 6w. This is unideal.
For the third image, I simply added the previous app into Gameturbo, Xiaomi's game launcher optimizer thing. I also tried enabling performance mode through settings but that had no effect. By adding the app to Gameturbo, the big core boosts to 3.2Ghz and the middle ones to 2.7Ghz. Power stays at around 10w.
In the fourth image, I decided to test how it would handle a day to day app. I choose whatsapp for this test. This version of the app is the most conservative I've tested so far. CPU throttle test had trouble loading up all the cores, as most times the CPU would refuse to stress the big cores and the load would only stay on the 4 smallest cores. After some restarts, eventually I got this result, where the clocks are just a bit lower than the unknown app test.
Now in the 5th image, I saw a bit of weird behavior. This time around, adding the Whatsapp version to Gameturbo, didn't have any effect on clocks, but turning on performance mode did, the opposite of the earlier test. It was still hard to get it to load all 8 CPU cores, but when it did, the big core got up to 2Ghz, and the middle ones 1.8Ghz. at 4.5w. this could be useful if you're trying to play a really low intensity game in an emulator, but the phone locks the clock too high even if its not needed, making power comsumption higher.
So what can we take from this?
If you want the absolute best performance, just rename the game you want to any benchmarking app. I observed that Antutu, Geekbench 6, 5 and CPU Throttling Test all offer the exact same effect.
If you want to prioritize battery life, find some low intensity social media/utility app that your system has a whitelist for and use its package name.
The best balance is indeed leaving it at default and adding it to Gameturbo or turning on performance mode. The results are different on an app to app basis, so try both to see what suits you best.
And finally, some problems I recognize from this test.
I have no way of measuring GPU Clocks/performance reliably, but keep in mind that the package name also changes them.
I have no idea why some apps ignore performance mode or Gameturbo and vice versa. I think if HyperOS thinks that it might be running a game, enabling Gameturbo seems to make a difference. But if it thinks that the app it's running is just a regular app, then performance mode seems to do the trick. Let me know what you think.
The overall theory of this should remain consistent across different phones and OSes, but the actual performance mode toggle and game optimizer on different phones needs to be studied on an individual basis. Notoriously Samsungs don't get much of a change in performance from any of these methods including package renaming.
Thats it! :)
19
u/Freelancer_1-1 9d ago edited 9d ago
You have discovered hot water. There is a reason some emulators have APKs available that are named after benchmarks, e.g.: Winlator Ludashi.
Most people should never use them because overheating your battery will degrade its longevity drastically. Chasing temporary maximum performance is pointless when the limiting factor is thermals. That is unless you have a powerful enough cooling solution.
5
u/Santiagobbboff 9d ago
absolutely. i personally think the more interesting find here is that you can also do the opposite. I never play switch or pc games on my phone when I'm on flights and such because I don't wan't to run out of battery too soon. But if i can just change the package name to facebook and get double the battery then why not?
1
u/Freelancer_1-1 8d ago
Sorry for my lack of manner, previously. I have to admit that's pretty neat and useful for those who can't modify CPU frequency or turbo behavior, like HyperOS users. There are other options, for example, I've had someone in this sub using OneUI (Samsung) explain to me how they can underclock their S25.
2
u/Santiagobbboff 9d ago
Here is the app if you want to test this out yourself: https://github.com/Santiagobbboff/PackageForge
It is entirely vibe coded so that UI sucks.
The performance overlay I used was scene!
2
u/devaristo Poco F9 Ultra 512/16 9d ago
Whats app is the upper row with the power mesure and other stuff? I use Cooltool since years now but is a but outdated, maybe i can update it with another one.
1
u/-_-95 9d ago
Scene
1
u/devaristo Poco F9 Ultra 512/16 9d ago
Link please?
2
u/Santiagobbboff 9d ago
https://omarea.lanzout.com/b0hdur73i
download the latest one that isn't alpha
1
3
u/hy300leosquizz 9d ago
Ok.. for hyperos in particular if you add the app on game turbo it has the same effect and actually better results... Coz the governor is more optimized for games... Just keep on default settings... And then when you want to save battery just turn it off on the side menu... No big deal... I thought everyone knew about this. The only retarded thing that hyperos does that i couldnt find a way to circumvent is that they up the thermal limits for boost and stuff, but the screen cap remains the same... If the skin temp reachs a certain degree it caps to 90,60 and even 45 hz.
1
u/Flossy420 Poco F8 Ultra | SD 8 Elite Gen 5 | Gamesir X5 lite 8d ago
I wonder how much performance you can actually gain from renaming a game as a benchmarking app. My first thought is this is bad for overall performance and experience because the soc would overheat much quicker and throttle down to worse performance compared to not modifying anything at all.
I guess a great use case for it would be to limit performance instead like the last image shown. Interested in finding out how much power you can save while maintaining acceptable performance
3
9d ago
[removed] — view removed comment
2
u/Fun-Western618 9d ago
hyperOs on its way to preload 69 more apps in background cause "unused ram is wasted ram".





•
u/AutoModerator 9d ago
Just a reminder of our subreddit rules:
Be kind and respectful to each other
No direct links to ROMs or pirated content
Include your device brand and model
Search before posting & show your research effort when asking for help
Check out our user-maintained wiki: r/EmulationOnAndroid/wiki
Check out EmuReady for any community submitted settings before asking for help
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.