General Here's how Xiaomi™ is Throttling Performance on Some Third Party Apps Including Some Popular Games - Redmi Note 11 (spes/spesn)

Xiaomi™ is throttling performance on some popular third party apps and games including BGMI and PUBG.
DTS [Dynamic Thermal Scaling] is popular method to prevent overheating but here's OEM's are using it beyond it's purpose.
We Tested two different smartphones from different OEM's with same SOC (sm6225) varient 4+64 GB both charged to 100% at 27°C Room Temperature ]
1. REDMI NOTE 11 : When we test on some popular Apps and Games at 27°C Room Temperature the result was as expected.On "Xiaomi Redmi Note 11" the Clock-speed of A73 cores was Limited to 1.7 and 2.2 GHz and A53 cores to somewhat 1.19 and 1.50 GHz most of times on 3rd Party Apps and Games and as soon as we exit to Home screen and Randomly scrolled the Clock-speed of A73 was peaking from 1.09 to 2.4 GHz and A53 to some what 1.10 to 1.9 GHz.
2. REALME 9i : Same Test we run on "Realme 9i"at same Room Temperature to confirm is Xiaomi or Qualcomm™ is the factor to locked SOC peak clock speed on certain apps and games
and the result was shocking Realme 9i was letting apps and games to use full peak clock-speed aka A73 to 2.4 GHz and A53 to 1.9 GHz until it reaches 47°C and throttling it to 2.2 GHz on A73 and 1.8 on A53 cores respectively.
Result :"Realme 9i" doesn't limit cpu clocked speed on 3rd party Apps and Games like "Redmi Note 11" does and also the application and games were running much smother on "Realme 9i" compared to "Redmi Note 11"
Solution : Systemless Mounting of Blank Thermal Configs and Blank Thermal Drivers through (Magisk Module) solve the problem but upto a certain limit.OEM's like Xiaomi is using Application Optimization Libs and Game Optimation Libs, black listing CPU and GPU clock speed even after overiding thermals configs....

.

Cool

Related

[Testers] GPU overclock X1

I have created this thread to focus on overclocking of the gpu, this is still very experimental and it would be great if you all can help test this feature.
There are allot of different settings that can be pushed to the gpu clock, I do not have access to the MSM7200 chip development guide and have no detailed information.
Non camera kernel with keyboard included:
http://tingstenen.dk/data/X1-kernel-modules-2011-03-18-1300457455.zip
How to activate overclocking
Code:
$ su
# cd /sys/module/clock_wince/parameters/
# echo 0xa99 > grp
The number 0xa99 can be replaced with other values to archive different results. See the following gpu overclocking discussion for more details, 0xa99 is the valued I have had positive results with on our x1 of the few options I have tried.
http://forum.xda-developers.com/showthread.php?t=697673
Our MSM7200A chip is default running with CPU 528Mhz and 256Mhz GPU.
I look forward to hear your feedback on this option and hopefully some of you manage to archive even bette results with other settings. It would alse be great if someone found out how to make an widget or app to easily change gpu clock settings.
Will add a non camera kernel with keyboard as modules later.
great job.
X1-kernel-modules-2011-03-18-1300457455 gives me 21.9 fps.
and just tried newest X1-kernel-modules-2011-03-19-1300544600 and its works, GPU overclock is applied automatically, gives me same result.
preston74 said:
great job.
X1-kernel-modules-2011-03-18-1300457455 gives me 21.9 fps.
and just tried newest X1-kernel-modules-2011-03-19-1300544600 and its works, GPU overclock is applied automatically, gives me same result.
Click to expand...
Click to collapse
Hi Preston, thanks for your feedback, I am glad to hear the auto gpu overclock is working. 0xa99 has been hardcoded in the last two kernels. 21.9 is more than I have been able to get, 21.5 with cpu at 614Mhz and 0xa99 applied
im reach 21.9 fps with cpu ovecloched to 672Mhz.
I reached 20.5 fps on Neocore (Sound off) with CPU overclocked to 672MHz and GPU overclocked using 0xa9a - using PureFroyo by Needo, an older build of his. Anything beyond 0xa9a for me, crashes my Xperia once I load apps which required 3D.
n00b3r said:
I reached 20.5 fps on Neocore (Sound off) with CPU overclocked to 672MHz and GPU overclocked using 0xa9a - using PureFroyo by Needo, an older build of his. Anything beyond 0xa9a for me, crashes my Xperia once I load apps which required 3D.
Click to expand...
Click to collapse
Could you try with 0xa99 once more with a slightly lower CPU clock? I have a theory that 0xa99 give us GPU clock half of our CPU clock. It could be the limit of the 3D chip are around 330-340.
duckly said:
Could you try with 0xa99 once more with a slightly lower CPU clock? I have a theory that 0xa99 give us GPU clock half of our CPU clock. It could be the limit of the 3D chip are around 330-340.
Click to expand...
Click to collapse
Sure. Should I try it with 633 MHz? I tried 0xa99 with 672MHz and I get 19.5 instead of 20.5 FPS.
more tests
build: a new F1 Froyo 2.2.2 V3
cpu oc: 692MHz
kernel: X1-kernel-modules-2011-03-19-1300544600
Neocore with sound off: 22.2fps
Can you try with 0xa92 and compare this with your results from 0xa99? It seems to be slightly faster on my 614MHz clocked cpu.
duckly said:
Can you try with 0xa92 and compare this with your results from 0xa99? It seems to be slightly faster on my 614MHz clocked cpu.
Click to expand...
Click to collapse
I just tried 0xa92 with 672 MHz and i got 21.4fps. Got an extra FPS with 0xa92 compared to 0xa9a.
I have done some testing with different values and here is my results so far. The clock calculations is obviously wrong but it is the best I can come up with.
10101 0010 001 0xa91 (614*2)/3 = ~409 neocore not starting
10101 0011 001 0xa99 (614*2)/4 = ~307 21.5 21.2 176(quadrant)
10101 0100 001 0xaa1 (614*2)/5 = ~245 19.5
10101 0001 010 0xa8a (614) /1 = ~614 neocore not starting
10101 0010 010 0xa92 (614) /2 = ~307 21.1 21.0 176(quadrant)
10101 0011 010 0xa9a (614) /3 = ~205 20.1
10101 0100 010 0xaa2 (614) /4 = ~154 17.9
10101 0010 011 0xa93 (614?)/2 = reboot
10101 0011 011 0xa9b (614?)/3 = reboot
10101 0000 100 0xa84 (614/2)/0 = neocore not starting
10101 0001 100 0xa8c (614/2)/1 = ~307 18.1 169(quadrant)
10101 0010 100 0xa94 (614/2)/2 = ~154 14.8 164(quadrant)
10101 0011 100 0xa9c (614/2)/3 =
The best options I have found so far is 0xa99 and 0xa92 being equal. There are still allot of other bits to play around with.
my cpu and gpu are not so lucky
i can daily use cpu at 614Mhz
tryed gpu oc with faryab V3 + 18 march kernel
0xa9b - restart
0xa99 - artifacts, neocore starts but artifacts and it stops
0xa92 - always artifacts and bad graphics
0xa9a - always artifacts but neocore bench finished ok, about 21 fps
without oc neocore is 17fps, quadrant about 270, linpack 2.8
just a curiosity, i remember in older kernels that quadrant much faster (4/500) and linpack was about 4/5, why newer kernels are slower at the same cpu speed?
pirlano said:
my cpu and gpu are not so lucky
i can daily use cpu at 614Mhz
tryed gpu oc with faryab V3 + 18 march kernel
0xa9b - restart
0xa99 - artifacts, neocore starts but artifacts and it stops
0xa92 - always artifacts and bad graphics
0xa9a - always artifacts but neocore bench finished ok, about 21 fps
without oc neocore is 17fps, quadrant about 270, linpack 2.8
just a curiosity, i remember in older kernels that quadrant much faster (4/500) and linpack was about 4/5, why newer kernels are slower at the same cpu speed?
Click to expand...
Click to collapse
The optimal clock for my CPU is also 614Mhz, it can run at 633 but will eventually crash.
Can you try to downclock you cpu one or two steps further and try with 0xa99? I am curious to know if the GPU overclock values are connected to the CPU overclocking, could be that you successfully could use 0xa99 with one CPU step lower and end up with better neocore results.
faryab V3 + 18 march kernel + custom startup.txt
(to change grp frequency i use clock_wince.grp=2713 on startup.txt (2713 = 0xa99 for example, to no OC just left blank, i think it's better manual setting than auto-OC))
tryed one time, and seems to be working with startup setting
neocore - always sound off
cpu: 633600 - reboot
cpu: 614400 - ok
gpu:
-no OC: 18,9
-0xa9a: 20,2
-0xa99: reboot
cpu: 595200
-no OC: 18,7
-0xa9a: 19,8
-0xa99: 21,4
EDIT: i can confirme that startup.txt setting works with gpu freq too with 18 march kernel
i tryed acpuclock.oc_freq_khz=614400 clock_wince.grp=2713 on startup.txt and this time phone doesn't reboot, and i got 21,4 too
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
I'm just a newbie, so I want to know how to open Internal? I try to get it on Market, installed but not working? Could anyone show me the way?
Pardon my bad eng
sp3dev said:
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
Click to expand...
Click to collapse
Thanks for the thorough explanation alex.I was confused at first about this when I saw the topic
luv116 said:
I'm just a newbie, so I want to know how to open Internal? I try to get it on Market, installed but not working? Could anyone show me the way?
Pardon my bad eng
Click to expand...
Click to collapse
Terminal Emulator works very bad with non-US keyboard layout (you have to use virtual keyboard for _ and > char, and it's very annoying).
It's faster (and works much better because of the fresh boot) to change settings from startup.txt, read my post
sp3dev said:
One thing to note though..
The last 3 bits of the ns register are the clock source.
{0 => TCXO (19.2 MHz?), 1 => global PLL, 2 => backup pll 0, 3 => backup pll 1, 4 => modem pll, 5 => plltest_rcvr_out (whatever that is), 6 => usb xtal, 7 => plltest_core_in}
This is from msm7200 datasheets. it may be wrong for msm7200A though
afaict, modem pll (4) is pll0 in acpuclock.c (245 MHz), global pll is pll1 (768 MHz), backup pll0 is pll2 (1056 MHz). When the device is overclocked, then
The next 4 bits are the (divider - 1). That is, get those 4 bits, increment by one and you get the divider. During the overclock, pll2 is adjusted. So yes, until we have a proper clock calculation algo for arbitary frequencies, you cannot overclock both cpu and gpu.. But actually imho overclocking cpu gives no performance gain at all..
Click to expand...
Click to collapse
Hi Alex, thanks allot for your description. It is nice to know what the different options means instead of blindly changing the values
Are the pll clock speeds different when you overclock the cpu?
yes, they are.
btw, i've played with overclocking a bit. changing gpu to 1056 mhz pll doesn't seem to do anything, but overclocking the 768 mhz pll to 960 mhz or more seems to increase performance linearly - my neocore went from 16.5 to 21.5.. but i needed to set mdp (panel) to another pll..
as for the panel, some tweaks allowed to raise score in fps2d from 27 to 34 fps. i hope we can get to somewhere 45 with a bit of overclocking.
all in all, i think we need to rewrite some clock code to allow to change pll speed at runtime and recalculate clocks on the fly

[Q] How many cores are working under Android?

Are both cores working? Is there an app where I can monitor that? I use SetCPU and have it @ 1.5Ghz on-demand.
Thanks...
You can try CPU Guage from the market
Simple speedometer type guage, shows each core and if active
Both cores are operational in android roms, when needed. That is a fact.
With this app and ondemand setting, core two only kicks in if you exercise the screen quickly by switching between the cpu speed an temperature screens
There are probably other apps that will show the cores better
Good luck
In setCPU select info then CPU and it will show processor 0 and processor 1 but only when the core is been used so make sure something is running

[Kernel] Sammy Unofficial I9300 Boeffla 5.0b5 (Linaro 4.9.1 - NEON) 08/June

Hi all, this kernel is only for sammy 4.3 roms!
This is my first public release of a kernel that I have been compiling and mod for some time
So, my goal is to have all boeffla kernel features with some settings that I want to be modded like CPU OC up to 2GHz (mine fully stable at 1.8GHz).
Changes done to official Boeffla 5.0b5:
Higher ANTUTU score: 23541 (my system with 1.8GHz @ 1425mV CPU and 700MHz GPU)
Compiled with Linaro GCC 4.9-2014.05 (4.9.1) / Linaro GDB 7.7-2014.05
Hard-float and neon compiler flags
Compatibility to boeffla config app (some internal mod into version.c file)
CPU OC up to 2GHz
100 MHz CPU frequency step (more power savings: stable to me @ 775mV <-- undervolted!!!)
Mach-midas: raise cpu freq throttle from 800 to 1500MHz and 200 to 800MHz
Permanent file-system trim
Allow manual brightness to 300 candela
GPU bottom lock fix
Manage only online cpus (cpufreq fix)
Allow cpu-based alignment fixup instead fixup in software (best performance)
VERY IMPORTANT (read here): Fix n_tty_write crash when echoing in raw mode (2009 bug)
Ethernet USB dm9601.ko module support: loading ASIX usb ethernet module under boeffla config also load this module (usefull for ebay cheap adapters like mine)
To do list:
Configure 40 Hz LCD refresh frequency below 1000 MHz CPU freq, like Sammy 4.1.2 AndreiLux Perseus kernel (more power savings) <-- I have ported it from Perseus kernel and tested it, however I don't like my screen like that (very low lcd freq update rate)
Add Wireless drivers for supporting Ralink rt2870usb and Realtek RTL8187 devices by OTG USB adapter
Add support for f2fs file-system
Implement ZRAM with the latest LZ4 compression/decompression algorithm
Flash procedure:
It is recommended to set a lower CPU freq limit like 1000MHz before flash
If the phone freeze, please reset boeffla profile settings: under boeffla kernel folder (in internal phone storage) there are a cwm zip to reset profile settings or download it below under tools section
Voltage table under config app must be reseted to avoid problems (set to none and press reset!)
Latest Changelog (Version 4):
Mach-midas: raise cpu freq throttle from 800 to 1500MHz and 200 to 800MHz
Some temperatures throttle setpoints increased by ~10 celcius degree (at 90 celcius degree CPU is limited to 1500)
I have done some tests, it's colder than other phones even with 1500MHz full cores loaded (throttle on), for gaming reduce max cpu freq...
Allow manual brightness to 300 candela: our displays can handle 300 candela in automatic mode, manual slide was limited to 250 by default
GPU bottom lock fix
Manage only online cpus (cpufreq fix)
Allow cpu-based alignment fixup instead fixup in software (best performance)
Overvolt by +25mV default 1.8-2.0GHz cpu steps voltage (more stability for 1.8GHz step @ 1425mV, before it was @ 1400mV)
Changelog Version 3:
Mach-midas: raise cpu freq from 800 to 1000MHz when reaching thermal limit
Permanent file-system trim
Changelog Version 2:
Implemented 100 MHz CPU step, now it could be configured from 100 - 2000 MHz
DOWNLOADS:
Help me by register on kickbit
Based on official 5.3 Beta5 - Version 4
Based on official 5.3 Beta3 - Version 3
Based on official 5.3 Beta3 - Version 2
Based on official 5.3 Beta3
TOOLS:
Boeffla Config App Settings Reset CWM zip
Boeffla Config APK download (google play alternative)
Source Code <-- Click here to access ftp server
Credits:
@Lord Boeffla -> for all amazing work and for make his kernel modifications open source
@Christopher83 -> for providing the pre-compiled linaro toolchain
@AndreiLux -> for help me understand how middle cpu frequencies like 1750 are generated
@googy_anas -> for some commits in github
Help me by register on kickbit
VERY IMPORTANT: if you like my work press thanks, BUT, if you consider donate me, also consider donate him: Lord Boeffla
Does you're phone run at 2Ghz? Stable?
andrewwright said:
Does you're phone run at 2Ghz? Stable?
Click to expand...
Click to collapse
Runs fully stable at 1.8GHz for some days without reboots
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
EP21 said:
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
Click to expand...
Click to collapse
Not really, for example my chip is stable at 1.7ghz with deafult voltage, depend of the luck of your chip :good:
Will you do this on CM/Omnirom kernel?
EP21 said:
Do you want fries with that? But seriously, isn't 2ghz too much? [email protected] is hot and i guess [email protected] would be a lot hotter and [email protected] would need a fan or a bigger heatsink atleast if ran on full load for 1 hour.
Click to expand...
Click to collapse
It depends in your cpu scaling options, like governor... And when phone gets hot, cpu freq is limited to 800 MHz, if you stress test it, you could see that sometimes it goes down to 800 MHz during some time (could be changed before compilation).
And I run cpu @ 1800 MHz with 1.425 V stable, I tried 1850 and it can't be handled, so my phone stable limit is 1.8 GHz )
Assa551N said:
Will you do this on CM/Omnirom kernel?
Click to expand...
Click to collapse
I am a little busy right now with exams at university. Maybe in the next month
Allow me to revive this topic by saying that my i9300 is stable using this kernel at 1.92GHz with +0mV and -25mV (didn't try -50mV or less)
At 2GHz it reboots after 2 minutes of Antutu.
Its obvious that no one should ever use this for daily use. I used it for Antutu Benchmark and I got a score of 24070.
htc m8 great
xKyrex said:
Allow me to revive this topic by saying that my i9300 is stable using this kernel at 1.92GHz with +0mV and -25mV (didn't try -50mV or less)
At 2GHz it reboots after 2 minutes of Antutu.
Its obvious that no one should ever use this for daily use. I used it for Antutu Benchmark and I got a score of 24070.
Click to expand...
Click to collapse
htc m8 great

See which cluster of CPU's is active by using the MediaTek app...

With the shiny new Helio X30 you can see which CPU cores are active by using the MediaTek Multi core observer, this displays a floating window with all of your cores (10 on the X30) and the names of each underneath (A73, A53, A35) and the bars represent the load. Here are the characteristics of the cores...
A73-High performance cores, they brute force anything and are used upon load up and sometimes in a game (in the X30 can clock up to 2.5ghz)
A53-Medium efficieny, medium performance, these are used for lighter tasks, like scrolling through your social media (in the X30 can clock up to 2.2ghz)
A35-High efficiency, low performance, this is used for low powered stuff, like scrolling through a website (in the X30 can clock up to 1.9ghz)
So for good battery life you want the A35 cores to be used as much as possible as they are the most efficient cores (they can even clock down to a very low 250mhz so standby time is good)
**App Link**
https://play.google.com/store/apps/details?id=com.mediatek.multicoreobserver&hl=en_GB

Development [Magisk-Module][01.09.21] PnP-Tuner for Zenfone 8

Power and Performance (PnP) Tuner for Zenfone 8
Hello everyone,
Here´s a simple Magisk-Module that changes the behaviour of the so called "System modes" found in the battery section of settings.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I think some of you might have wondered already what the different sections do.
Just below you will find an overview of the different modes and some of their consequences/settings on stock compared to after you flashed the magisk-module.
I´m pretty sure after seeing the overview you understand the reasoning behind some of those changes.
CPU Frequency values are sorted following this scheme: CPU-Frequences Values of Little Cluster/Big Cluster/Prime Core MHZ
DefaultPnP-TunerHigh PerformanceCPU Min 1401/1324/1305
CPU Max:1804/2419/2841
GPU Min 315 MHZ
GPU Max 840 MHZCPU Min 1612/2227/2496 MHZ
CPU Max 1804/2419/2841 MHZ
GPU Min 315 MHZ
GPU Max 840 MHZDynamicCPU Min 300/710/844
CPU Max 1804/2112/2592
GPU Min 315 MHZ
GPU Max 738 MHZCPU Min 300/710/844 MHZ
CPU Max 1612/1766/2035 MHZ
GPU Min 315 MHZ
GPU Max 738 MHZDurableCPU Min 300/710/844
CPU Max 1497/2112/2592
GPU Min 315 MHZ
GPU Max 738MHZCPU Min 300/710/844 MHZ
CPU Max 1497/1440/1670 MHZ
GPU Min 315 MHZ
GPU Max 608 MHZUltra DurableCPU Min 300/710/844
CPU Max 1094/1209/1305
GPU Min 315 MHZ
GPU Max 608 MHZCPU Min 300/710/844 MHZ
CPU Max 1497/1440/1670 MHZ
GPU Min 315 MHZ
GPU Max 608 MHZ
Do not Schedule any foreground or top-app tasks to the prime-core to conserve even more batteryAdvanced LowCPU Min 1401/1324/1305
CPU Max 1804/2419/2841
GPU Min 315 MHZ
GPU Max 840 MHZCPU Min 300/710/844 MHZ
CPU Max 1708/2112/2496 MHZ
GPU Min 315 MHZ
GPU Max 738 MHZAdvanced MediumCPU Min 1497/1555/1785
CPU Max 1804/2419/2841
GPU Min 443MHZ
GPU Max 840 MHZCPU Min 300/710/844 MHZ
CPU Max 1804/2419/2841 MHZ
GPU Min 315 MHZ
GPU Max 840 MHZAdvanced HighCPU Min 1612/1996/2265
CPU Max 1804/2419/2841
GPU Min 540 MHZ
GPU Max 840 MHZCPU Min 691/710/844 MHZ
CPU Max 1804/2419/2841 MHZ
GPU Min 315 MHZ
GPU Max 840 MHZ
Default QCOM configuration
So what do the limits mean. If the powerhal does not interfere or sets different values than those in this table, then this are the Min/Max CPU/GPU configurations the phone runs with in every mode.
For the default Dynamic mode this means the phone runs at maximal 1804/2112/2592MHZ for Little Cluster/Big Cluster/Prime Core when the powerhal decides there´s no reason to boost above these limits. (reasons to boost would be unlocking the device, opening apps, using camera, fling boosts, scroll boosts, drag boosts etc)
So after stumbling over a few reports that reported worse battery life when using the advanced mode a while ago, here is a simple explanation.
The three levels available to choose from in the advanced section resemble X-Mode from the ROG Phone series.
This mode raises the minfreqs to increase performance. The description of the advanced setting "flexible performance settings for all your needs" needs to be taken literally.
There´s only one thing advanced mode gives, even on its lowest level, and that is performance. At the beginning I thought setting the sliders to low would result in a battery saving mode, but it´s exactly the opposite.
I personally don´t see a need for this on a compact device that´s not made for gaming.
So I adjusted most of the modes a bit to my personal liking and created this magisk module.
There´s now only a single high performance mode and that is the high performance mode. It raises minfreqs and is no configuration you should run your phone on a daily basis. It´s primarily meant for benchmarks. There are more boosts in the configuration than those in the overview above, but the overview was large enough as it already is.
Dynamic Mode is now toned down a bit from stock. This is a very good configuration to run games, as the phone will get warm slower and in the end throttle slower if it will at all throttle.
Durable is now an excellent mode to save power if you only do light tasks and need the phone to survive as long as possible, but still want some performance.
Ultra durable is now well, the extreme power saving mode. You can see I raised the max freqs a bit compared to the stock configuration, however we use a small trick. No foreground or top-app tasks (those are usally the apps displayed at the top layer and other important performance hungry tasks) will be scheduled to the power-hungry prime core.
The advanced slider on low for CPU, will use the configuration from stock dynamic mode, which is excellent for day to day usage if you want performance.
It will also allow the Little Cluster to scale back to 300MHZ to save more power, although it´s not default qcom configuration.
The advanced slider on medium for CPU will use max CPU freqs, but still allow the little cluster to go to 300mhz.
The CPU slider on High in advanced mode will now run the phone in the default QCOM configuration for modern QCOM SoCs. That means 691/710/844 MHZ for Little Cluster/Big CLuster/Prime Core alongside the max freqs for each cluster/core.
In a soon to be released update for my kernel you can also combine these modes with the battery saver mode accessible via the CleanSlate config app, which also allows you to restrict the powerhal from boosting above the values predefined in Advanced Low CPU Slider (Level 1), Dynamic (Level 2) Durable (Level 3) and Ultra - Durable (Level 3). As of now the limits differ a little bit, but it can be still done this way.
Just enable the "Battery Saver"-Feature as well as "Battery Saver Touch Limiting" and set the desired level of saving like on the following screenshot:
You can use Durable for example for extended navigation session, or even ultra durable to not engage the prime core while Google Maps is in foreground.
There´s a quicksettings toggle which can be added so I think those settings are really valuable, also to change on the fly more or less.
Anyway, I hope this clears some confusion around the system modes and their usefulness. Also for people that do not decide to unlock their devices.
Download:
Downloads for : -Android- Generic Device/Other | AndroidFileHost.com | Download GApps, Roms, Kernels, Themes, Firmware and more. Free file hosting for all Android developers.
Download GApps, Roms, Kernels, Themes, Firmware, and more. Free file hosting for all Android developers.
www.androidfilehost.com
Requirements:
unlocked zf8 running stock firmware
working magisk enviroment
Instructions:
1. Download the module and flash via Magisk Manager
2. Reboot
3. Profit
Donations:
Donations are not mandatory but very welcome if you want to support development or just buy me a coffee/tea
If you like my work: http://paypal.me/freak07
this is mine
this is mine as well
well sorry for the misalignment of the "default" column. It seems once in the "edit" post view after initially creating the thread it gets squeezed and there´s no way to stretch it again.
At the end of spreadsheet in "PnP-Tuner" column i see "Default QCOM configuration".
It is explained in few places of original post, but not what it exactly is.
Could you please explain/expand it it a little more? Or it's just common name for 691/710/844 Hz? Because it sounds like something special))
dron39 said:
At the end of spreadsheet in "PnP-Tuner" column i see "Default QCOM configuration".
It is explained in few places of original post, but not what it exactly is.
Could you please explain/expand it it a little more? Or it's just common name for 691/710/844 Hz? Because it sounds like something special))
Click to expand...
Click to collapse
The default qcom configuration for CPU min/maxfreqs of sd888 is:
CPU Min 691/710/844 MHZ
CPU Max 1804/2419/2841 MHZ
Very interesting to hear this about the Advanced configurations, that they are all geared towards performance by default.
Do you really feel that your configuration for ultra durable mode, even though it has higher clocks, will save more battery just by disabling the prime core?
I would love to see some comparisons of battery life (Screen on times) with this module enabled and without it.
I still didn't root my phone (very root sensitive banking apps), that's why I can't try it out myself, but I would root my phone and go through the hassle of getting my banking apps to work if I saw that I would get better battery life etc.
assasss said:
I would love to see some comparisons of battery life (Screen on times) with this module enabled and without it.
I still didn't root my phone (very root sensitive banking apps), that's why I can't try it out myself, but I would root my phone and go through the hassle of getting my banking apps to work if I saw that I would get better battery life etc.
Click to expand...
Click to collapse
same can you please post battery life (total, screen on, idle) on durable & ultra durable modes?
This is Durable 100% down to 5%, then Ultra Durable 5% down to 1%.
Version 115
Rooted stock with this PnP tuner
Refresh rate locked at 90Hz
Force lower touch sampling rate: On
WiFi for perhaps 7hrs total, rest is 4G, 4G+, 5G
Adaptive brightness: On
Always On Panel: Off
A second run with identical settings as above.
But very different usage. A lot more heavy with video calls, YouTube, hotspot, etc.
WiFi around 9hrs, rest is 4G, 4G+, 5G.
P3aK said:
A second run with identical settings as above.
But very different usage. A lot more heavy with video calls, YouTube, hotspot, etc.
WiFi around 9hrs, rest is 4G, 4G+, 5G.
Click to expand...
Click to collapse
Awesome stats both runs. Other configurations that you apply to achieve that SOT? I use the same config (Kirisakura kernel, durable and PnP Tuner) and my average is 5 hours at best :/
5hrs? Yikes!
I'm still on stock kernel. I want to make 2 runs on slightly modified PnP Ultra Durable now and see what that yields. Then I plan on trying out the kernel together with PnP. I am secretly hoping on breaking 10hrs SoT with Kernel + Ultra Durable.
Not very viable for everyday use, for sure. But more like, when needed outside of civilization.
As for other configs:
(not sure anymore what is default or not, so I just list random things I think I might have changed, or could have an impact)
WiFi, Bluetooth, NFC, Location: Always off unless using/needed.
VoLTE on.
5G network on.
Auto 5G on.
Preffered network type: 2/3/4/5G
WiFi calling on
Calling preference: Mobile network
Roaming preference: WiFi
Disabled all Facebook apps/services. Using Facebook Lite instead.
Disabled Instagram. Don't use it.
Gboard disabled. Using SwiftKey instead.
Gmail disabled. Need Outlook for work.
Speech services by Google disabled.
YouTube Music disabled.
YouTube Vanced instead of original, but not disabled.
Dial pad sounds off.
Screen locking sounds off.
Touch sounds off.
Completely dark static Amoled wallpaper.
System color scheme Dark.
Always On Panel off.
Lift to check phone off.
New notifications off.
Auto rotate screen off.
Refresh rate 90Hz.
All Google location, history, ads, blah, blah off, except ELS and Google Location Accuracy.
Find my device off.
Fingerprint off.
Face recognition off.
Game genie off.
Twin apps off.
OptiFlex on (ca 10 apps that I use on "Speed up", rest off).
Everything on Gestures page off.
Pocket mode on
USB debugging on.
Verify apps over USB off.
WiFi scan throttling on.
Mobile data always active on.
Default USB configuration: File transfer
Everything else should be default settings. Might have missed the odd one somewhere.
banannerz said:
Very interesting to hear this about the Advanced configurations, that they are all geared towards performance by default.
Do you really feel that your configuration for ultra durable mode, even though it has higher clocks, will save more battery just by disabling the prime core?
Click to expand...
Click to collapse
Well the Prime core is purely made for performance since its the Cortex X1 and not just a A78 with more cache. So basically "disabling" it could yield quite some saving.
I am surprised they don't do this by default... (at least for modes when you want to conserve maximum energy)
Yeah, turning off the prime core entirely in ultra durable mode would make a whole lotta sense.
Freak07,
Hi! Is it still actual on latest FW's and your kernel?
Freak07 said:
In a soon to be released update for my kernel you can also combine these modes with the battery saver mode accessible via the CleanSlate config app, which also allows you to restrict the powerhal from boosting above the values predefined in Advanced Low CPU Slider (Level 1), Dynamic (Level 2) Durable (Level 3) and Ultra - Durable (Level 3). As of now the limits differ a little bit, but it can be still done this way.
Just enable the "Battery Saver"-Feature as well as "Battery Saver Touch Limiting" and set the desired level of saving like on the following screenshot:
Click to expand...
Click to collapse
Is there any other ways to control that instead of installing separate app?

Categories

Resources