This widget could not be displayed.
This widget could not be displayed.
cancel
Showing results for 
Search instead for 
Did you mean: 

ROG Phone 5 Throttling Performance on AetherSX2?

ludecan
Star I
Please tell us some basic information before asking for help:
Model Name: Asus ROG Phone 5
Firmware Version: WW_31.0810.1226.91
Rooted or not: Not
Frequency of Occurrence: 100%
APP Name & APP Version (If your issue relates to the app): AetherSX2, Armoury Crate
In addition to information above, please also provide as much details as you can, e.g., using scenario, what troubleshooting you've already done, screenshot, etc.
========================================
Hey guys, as the title says. I have a ROG phone 5 with SD 888 and I'm getting terrible performance with AetherSX2 even though some of the latest updates have made improvements to the specific issues I'm seeing.
Here's a video of the issue happening to GamingDJ (on playstore version of AetherSX2): 
https://youtu.be/RBC4RQqIul8
A Xioami Mi 11X with SD 870 is beating the SD 888 powered ROG Phone 5.

And here's a video of the issue happening to me (vid was recorded with an older AetherSX2 version but happens with 2426 still, a bit worse on 2426 than on 2413): 
https://youtu.be/nGWJ5niob8Q
In my video you can see I have the Aeroactive Cooler 5 attached, X-mode+ turned on and the phone is at 28C so there shouldn't be any thermal throttling. However big and prime core frequencies keep dropping between max and min, even though there's clearly more demand coming from the software side.

Another thing, I've tried tuning settings in Armoury Crate settings, here are the best settings I've found:
https://imgur.com/a/kpU4zfW.
But still no 60 fps with them.

Additionally if I turn min CPU frequencies to the max, to keep the cores pinned at max frequency, the phone still drops frequencies to min, it doesn't run full throttle even though I specifically tell it to. Is this a bug on Armoury Crate?
It seems the throttling behavior is being too aggressive, even in cases when the phone is cool, actively cooled and under X-mode+.


5 REPLIES 5

FunBike31
Community Legend I
Nothing surprising, the 888 and 888+ heat up too much and Asus has really done a lot on thermal limitation, it is likely that performance would be much better with older firmwares <.196
As a reminder, Opengs/Vulkan are perfectly up to date on Xiaomi and the performance gain is not negligible, especially on emulators, ASUS does not seem to know what Vulkan is, from the 1st firmware A11 to the latest A12 it is the same version.
You may be able to improve by testing a large number of options one by one starting with vsync and referring to the detailed developer comments to better understand the limitations and possible workaround options.
https://www.patreon.com/posts/alpha-2226-june-67663677

on the other hand, it takes time and above all a lot of meticulousness, except that it doesn't seem to be your strong point, I don't know any of the versions you mentioned, never seen 24 .., the last one I know is 2233

ludecan
Star I
Hey, thanks for the reply.
Why do you assume meticulousness is not a strong point of mine? I actually am a software engineer working in machine learning, I perform modeling experiments for a living, I know a thing or two about controlled conditions and recording findings.
That aside. I've been over all of the updates from AetherSX2 in patreon and discord, the VI register caching improvements that improve VU performance mentioned in the updates thread of discord seemed like something relevant since if you check my video VU thread is being the bottleneck.
I have two running threads on reddit on the matter, here I explain the various settings I've tried within AetherSX2 :
Https://www.reddit.com/r/EmulationOnAndroid/comments/vtwfrx/any_sd_888_users_having_bad_performance_...
The only thing that had an effect was host vsync as you said. With it fps still drops to 45, unlike the SD 870 in GamingDJ's video which stays at constant 60, but at least emulation speed stays at 100 % and the game doesn't crawl. EE cycle skip has a similar effect but still no 60 fps. All other make no difference, including dropping resolution to 1x or changing vulkan/opengl.

In this one I explain the advanced Armoury Crate tuning that I did
Https://www.reddit.com/r/EmulationOnAndroid/comments/vqqsv0/rog_phone_5_loosing_vs_sd_870/ifau6vr?ut...
Here's where I got the most gains.
Tweaking and tuning I got the prime core to be used which was not the case with default x-mode+ or gaming tuning with all 4 knobs set to max.
The changes here netted me 5-10fps depending on the scene but still no 60 fps.
What shouldn't be happening is with the phone at 28C, in a 10c room, with the fan attached and x-mode+ enabled, frequencies oscillate between min and max.
There's plenty of thermal headroom plus active cooling to not need to throttle.
Interesting point about the latest vulkan version in Xiaomi phones.
I've been tempted to root and update my Adreno drivers but it feels like that's something that shouldn't be needed on a gaming phone, much less if a non gaming phone with last Gen chip can do it

ludecan
Star I
Even more so, if you set min frequencies to their max value in Armoury Crate, cpu frequencies still oscillate between min and max in AetherSX2.
But other popular apps like Genshin Impact or Antutu have no trouble staying at max frequency indefinitely.
Smells a lot like app whitelisting to me.
Heck there's even a version of Citra MMJ called "Antutu". It's the exact same build as the regular one but the package name has been changed to "com.antutu.ABenchMark"
This version performs better than regular in rog phones 😛

ludecan
Star I
Update for anyone following or coming to this thread in the future.
I found a solution that works but it's not good.
Led by some users here in the Zentalk forums, I downgraded from Android 12 (Version WW-31.0810.1226.91) to Android 11 with the 2022/07/13 firmware (target Image Version: WW-18.0840.2202.231) and using my custom tuning, the cooler attached, and x-mode+ enabled, God of War 2 finally manages to stay at a constant 60 fps.
There's a clearly marked difference in the thermal limit between A12 and A11. In A11 the CPU gets to 50ªC and in A12 it never got past 45ªC.
While doing so A11 does use both the high-performance prime and big cores and manages to keep them at higher frequencies for longer.
Without the cooler I get dips to 50-55fps (much better than the 40s I was getting in A12) and with the cooler fps is pretty much constant 60 and temps stay at ~32ªC in my current weather of about ~10ªC.
I get the correct performance now but scratch updates as a plus for ASUS phones. Also, both A11 and A12 have v525 Adreno drivers while Nubia phones have v615 as of now.
Leaving this here for others that may come upon this. Feels like a shame that this much effort should be put on the user to get max performance out of your device. Happily available to provide more information to help fix this issue.