Adreno idler, an idling algorithm for devfreq-based Adreno devices - Android Software/Hacking General [Developers Only]

I'm here to introduce 'Adreno idler' to the world, and for kernel developers out there, how to apply and test.
So what is Adreno idler?
It is an idling algorithm,
an efficient workaround for msm-adreno-tz's overheads.
Main goal is to lower the power consumptions while maintaining high-performance.
Since msm-adreno-tz tends to *not* use the lowest frequency even on idle,
Adreno idler replaces msm-adreno-tz's algorithm when it comes to
calculating idle frequency(mostly by ondemand's method).
The higher frequencies are not touched with this algorithm, so high-demanding
games will (most likely) not suffer from worsened performance.
Click to expand...
Click to collapse
Why have I made it?
Because I don't like every, single, GPU governors out there for our Snapdragon devices.
Let me break it down for you.
msm-adreno-tz: default GPU governor for Snapdragon devices. It's interval/polling mechanism is very efficient, reducing the number of unnecessary frequency switches and maintains high performance. But, even on idle, it *tends* to not use the lowest frequency, resulting in higher power consumption and more battery drains on simple tasks such as watching video/YouTube or browsing the web.
Simple: a GPU governor made by faux123. I was using this on my older, non-devfreq-based devices but faux123's version of devfreq-based Simple GPU governor, it introduced a lot of weird switches and latencies resulting in a lot of lagginess and heat.
simple_ondemand: a devfreq governor made by Samsung, forked from ondemand cpufreq governor. It can be used as a GPU governor if your Snapdragon device uses devfreq governor for GPU frequency scaling. At idle, it goes all the way down to the lowest frequency, which is promising, but if it's under load, it continuously goes up and down, resulting in a similar behavior compared to Simple. Unnecessary number of switches, resulting in lagginess and heat.
So what's the answer?
None! Maybe the ideal solution is to modify msm-adreno-tz's algorithm to utilize the lowest frequency, but because msm-adreno-tz's algorithm is hidden under ARM's TrustZone technology, we can't tweak it much.
Hence, here comes Adreno idler.
Main goal is to lower the power consumptions while maintaining high-performance.
Adreno idler replaces msm-adreno-tz's algorithm when it comes to
calculating idle frequency(mostly by ondemand's method).
The higher frequencies are not touched with this algorithm, so high-demanding
games will (most likely) not suffer from worsened performance.
There are 3 main tunables for Adreno idler.
idleworkload for determining if the given workload is idle,
idlewait for preventing micro-lags,
and downdifferential for final calculation for determining if the GPU can go idle.
Logics are explained very well on the source-code. Go check if you're interested.
How to test and apply
Please go through the testing process.
If your device's stock msm-adreno-tz can go idle very well(it can differ from device to device since it's closed source), Adreno idler is not needed.
So far, it's working as advertised on Galaxy S4 LTE-A and Galaxy Note 3.
Use adb shell and type the following.
Code:
cd /sys/devices/*kgsl*/devfreq/*/
while true; do cat trans_stat; busybox sleep 0.1; done
If you can notice the msm-adreno-tz not using the lowest frequency even on idle, it's time to go try Adreno idler.
Your device MUST use devfreq msm-adreno-tz before applying Adreno idler.
AFAIK, Nexus 5 doesn't use devfreq, but more recent devices will use devfreq.
Go check if drivers/devfreq/governor_msm-adreno-tz.c exists.
I highly recommend to cherry-pick every devfreq/msm-adreno-tz changes on my Git repository to avoid inconsistencies which I did not intend.
Part of Adreno idler uses powersuspend by faux123.
Go apply it first before applying Adreno idler.
https://bitbucket.org/arter97/andro...mits/adebe9f7080df129d4cd5128fdbab2aeeba223b4
(powersuspend dependency. Just make sure to apply include/linux/powersuspend.h and kernel/power/powersuspend.c changes.)
https://bitbucket.org/arter97/andro...mits/79945454ce9c82afa9288ebf8250aa8de45cb217
https://bitbucket.org/arter97/andro...mits/573933b0606872729161321042e7fd35b1b268ad
https://bitbucket.org/arter97/andro...mits/522e2814fa84b5404de8f246ebe217346b1aa346
https://bitbucket.org/arter97/andro...mits/04113ad70a03ce05eb8e52b8ca5274db21a7fd51
https://bitbucket.org/arter97/andro...mits/bc40eaf6c9e17e8f47cb52f20a50a25638955b45
https://bitbucket.org/arter97/andro...mits/c0a48acef7a34c30cd3edc03e971bc1161efacbd
https://bitbucket.org/arter97/andro...mits/8996dbf8714866d325ecaef5489ded312c4ebe1c
https://bitbucket.org/arter97/andro...mits/3bce70ca80c1a095d3c644c14e8224a012e43138
https://bitbucket.org/arter97/andro...mits/123d953787a9e31830956a740415d0b82ec666e5
<-- The main party starts here !-->
https://bitbucket.org/arter97/andro...mits/22d0b352f54a00029cfa18c368e9d680e3aaf60a
https://bitbucket.org/arter97/andro...mits/28c79e6018fd761245303feb51b1ad684399290f
<-- More updates !-->
https://bitbucket.org/arter97/andro...mits/6a001e2993138a7e44371632ab623e07d78e1a8b
https://bitbucket.org/arter97/andro...mits/b75554aa37be5dce5a83974d362d58d4cb7991a6
https://bitbucket.org/arter97/andro...mits/72b75f62452486c482dfd009ad038b1fdaf6a941
https://bitbucket.org/arter97/andro...mits/423c55f7ef34f73c0913a70f5d1463d94b612de3 (This is a must-have commit)
https://bitbucket.org/arter97/andro...mits/c9fd20d3185ca0594c0175a3d1c8a6164e3956c2
https://bitbucket.org/arter97/andro...mits/d66cd80d6ca422fc1398bb0c821409e82bc0ba0d
That's it for Adreno idler 1.1.
I'll continuously update in the future.
Make sure to follow my Git and apply changes made to devfreq/msm-adreno-tz/adreno-idler.
After you've applied Adreno idler, turn it on from the defconfig and go through the testing process to check if the Adreno idler is working correctly.
It should ramp down the frequency to the lowest after about 200~500ms when system hits idle.
And you can turn Adreno idler on/off and fine-tune from /sys/module/adreno_idler/parameters.
Benchmark
Ahhhhhhh.. this will be interesting. And it is.
I've tested my ks01lte with watching a movie and playing a game.
1. 15 GB 1080p 2.5 hrs movie w/ HW decoder - Airplane mode ON/Brightness 25%
2. Casual game, leave it for 30 minutes on the same screen - Airplane mode ON/Brightness 100%
1.1. Adreno idler off - 46.3% battery drain, can expect approx. 6hrs 5mins of video playback on 100% battery charge.
1.2. Adreno idler on - 25.5% battery drain, can expect approx. 11hrs 2mins of video playback on 100% battery charge.
2.1. Adreno idler off - 13.4% battery drain, can expect approx, 3hrs 43mins of gameplay on 100% battery charge.
2.2. Adreno idler on - 11.7% battery drain, can expect approx, 4hrs 16mins of gameplay on 100% battery charge.
You decide if Adreno idler is awesome or not.
Enjoy
Huge thanks to hsk from Matcl for debugging, analyzing, and suggesting more efficient code.
This would be a piece of crap if it's not for hsk

Great. Those benchmark are from what phone?

@arter97 this advantage is only in gaming or heavy videos or also has effect in light usage?
Sent from my A0001

JMS74 said:
Great. Those benchmark are from what phone?
Click to expand...
Click to collapse
ks01lte = Galaxy S4 LTE-A(Snapdragon 800)

JMS74 said:
Great. Those benchmark are from what phone?
Click to expand...
Click to collapse
CounterC said:
@arter97 this advantage is only in gaming or heavy videos or also has effect in light usage?
Sent from my A0001
Click to expand...
Click to collapse
More likely in light usage.
I'd suggest you to read the OP again.

@arter97
How much is your web browsing time approximately?
Sent from my GT-I9506 using XDA Free mobile app

Thanks @arter97 added to my shamu source to test.

If I don't use "Force 2D GPU Rendering", is this idler still effective? I almost do light usage: facebook, web browsing, no games.

Kiryo24 said:
@arter97
How much is your web browsing time approximately?
Sent from my GT-I9506 using XDA Free mobile app
Click to expand...
Click to collapse
No idea. I haven't tested it scientifically.

freakingprime said:
If I don't use "Force 2D GPU Rendering", is this idler still effective? I almost do light usage: facebook, web browsing, no games.
Click to expand...
Click to collapse
Yes.

Arter just want to tel you that this is a big thing, am already testing and i think that iam seeing a difference in browsing battery life, anyway too early to tell...
We are so lucky to have a freaking genius developer for our note 3..

Thanks, im already testing !

How i test? Only for devs?
Sorry
Sent from my A0001

@arter97 ive added all the commits and compile just fine,the file (gov module) compiles but doesnt show in the availeable gpu governors to choose,can you give me a hint?

attack11 said:
@arter97 ive added all the commits and compile just fine,the file (gov module) compiles but doesnt show in the availeable gpu governors to choose,can you give me a hint?
Click to expand...
Click to collapse
This is not a governor.
It lives on top of msm-adreno-tz.
Sent from my Nexus 7 using XDA Free mobile app

arter97 said:
This is not a governor.
It lives on top of msm-adreno-tz.
Sent from my Nexus 7 using XDA Free mobile app
Click to expand...
Click to collapse
Thanks for pointing out,i was going crazy !
Nice job btw, msm-adreno-tz now down to the lowest frequency available when is needed :good:

Temasek has implemented this in his latest ROM and I'm getting the best battery life on my phone that I've ever had.
Brilliant work, @arter97.
Sent from my SM-N9005

Is it possible that this gives advantage only on the Samsung devices mentioned and not on the OnePlus?
Sent from my A0001

CounterC said:
Is it possible that this gives advantage only on the Samsung devices mentioned and not on the OnePlus?
Sent from my A0001
Click to expand...
Click to collapse
Oneplus msm-adreno-tz governor correctly scales down to minimum frequency when idle.
So at least the difference should not be expected to be very big.
So far the theory ☺
Andi

Well only to touchwiz sucks?
Sent from my A0001

Related

Best way to manage CPU?

Coming from the HTC Desire, where SetCPU was the only to manage the CPU, I have developed a habit of using SetCPU with several frequency profiles and different governors for various situations. For instance, I use battery<80, <60, <40, <30, screen off, temp >40, >50, and a charging profile. For governors I use lulzactive2 for higher frequency ranges, interactive for mid range frequencies and on demand for the lower frequencies. Oh, this is all with the latest matr1x kernel.
Seeing how a lot of ROMs allow extensive controll of the CPU I was wondering if it wouldn't be more efficient to just set a min/max frequency, chose a governor, turn deep idle on (which is off while I'm using SetCPU) and leave it be.
What are your thoughts and experiences on the matter?
/// endmessage / COMPUTOR5000
profile ? that's completely unnecessary...
just set governor and min-max is enough.
we have NSTOOL, so looks like extended ROM controll also not necessary because not good enough compare to NSTOOL , but lots lots ROM has it build-in
I've never bothered with profiles. I can feel if the phone needs a break from the heat and performance is good for me with 100/1200 set and slight undervolting.
Battery life while idling won't change, only while using intensive apps, and with deep idle working and max freq screen off, music playback and the likes drains very little battery.
Try it and see, you need to be comfortable with it.
I agree with qtwrk. Profiles are, in most cases, detrimental. The following is especially true since Deep Idle was implemented: always let the CPU run as fast as possible to save energy. Sounds counterintuitive, but here's why: while lower CPU frequencies in general consume less energy PER TIME than higher CPU frequencies, the faster the CPU can finish it's job, the faster it can return to energy saving states. So in the end, reducing CPU frequency actually uses more energy... Just overclock to save values, use undervoltage to set lowest possible voltage values and go to sleep.
What's the minimum you can set the screen off max frequency so that music playback isn't choppy?
Also, is the phone always idle on screen off, or does music playback, or any other activity make the phone come out of idle, even if the screen is still off?
/// endmessage / COMPUTOR5000
zyrill said:
I agree with qtwrk. Profiles are, in most cases, detrimental. The following is especially true since Deep Idle was implemented: always let the CPU run as fast as possible to save energy. Sounds counterintuitive, but here's why: while lower CPU frequencies in general consume less energy PER TIME than higher CPU frequencies, the faster the CPU can finish it's job, the faster it can return to energy saving states. So in the end, reducing CPU frequency actually uses more energy... Just overclock to save values, use undervoltage to set lowest possible voltage values and go to sleep.
Click to expand...
Click to collapse
Very good point, for exemple cpu at 1000 MHz takes 1100 juices per second and 10 seconds to finish a task, total cost 10 x 1100 (11000 ) juice
If it runs at 1200 MHz takes 1200 juices per second, same task only needs 8.34 seconds, 8.34 x 1200 (10008) juices... this isn't real just number assumption and theoretically appears that way
Sent from my Nexus S using xda premium
I agree with everything that was said here and actually posted about this very topic earlier on in the matr1x thread in regards to the lulzactive settings. People putting settings too much towards battery saving are actually not getting battery savings. They are making the CPU run longer and therefore more cycles and more power. Profiles are a bad idea too. They cause problems.
I decided to ask hear instead of creating new thread, etc.
In the amazing post of droidphile http://forum.xda-developers.com/showthread.php?t=1369817 there's an information about SGS II, that
'energetically efficient' frequency for CPU is 200 mhz
Click to expand...
Click to collapse
(it's Cortex-A9).
And what about Cortex-A8 on Nexus S?
droidphile also says that on Milestone (Cortex-A8) 550Mhz is the frequency used in the calculations based on the optimal energy to run. Don't know what's the source of this info...

CPU Freq: How do you keep yours?

This is a question I've never seen asked, but it's an important one. What are you phones CPU Freqs? What Govs do they have, and what Profiles do you use?
Rom: PyroIce
Main: 192 Min, 918 Max. OnDemand.
Screen Off: 192 Min, 384 Max. PowerSave.
InCall: 192 Min, 540 Max. Interactive.
Time 11pm-7am: 192Min/Max Powersave.
Sent from my HTC myTouch_4G_Slide using Tapatalk
that's cool, i might start using profiles again. from fiddling around i've noticed the difference between the ondemand and conservative governors- with ondemand, the processor seems to go from min. to all the way to max. and back down to min, and doesn't use the middle frequencies as much, while on conservative, the processor doesn't shoot up to max. as easily and seems to meander thru the middle frequencies a lot more. it makes sense too, because i've noticed that the phone seems snappier with ondemand.
i noticed you're using some of the others... i'll have to check them out as well.
ondemand
Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see "up threshold" in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed. - SetCPU website
conservative
Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery. - SetCPU website
performance
Available in most kernels. It will keep the CPU running at the "max" set value at all times. This is a bit more efficient than simply setting "max" and "min" to the same value and using ondemand because the system will not waste resources scanning for the CPU load. This governor is recommended for stable benchmarking. - SetCPU website
powersave
Available in some kernels. It will keep the CPU running at the "min" set value at all times. - SetCPU website
userspace
A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor. - SetCPU website
Interactive
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when coming
out of idle. When the cpu comes out of idle, a timer is configured to fire
within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
AgentCherryColla said:
Yeah Plus there's a huge difference with the Battery. I you use my CPU Settings, you should gain 3 hours Min on your phone. Also dropping the CPU in call is great, helps for longer calls and less overheating. If your S-Off you should use a custom kernel. UV Kernels are great.
Click to expand...
Click to collapse
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
yellowjacket1981 said:
I actually just got an uv kernel, I am about to flash it, I will use your settings too, thanks.
Click to expand...
Click to collapse
If you run a Sense 3.6 Rom, boost the CPU to 1Ghz. 918Mhz Lags.
Sent from my HTC myTouch_4G_Slide using Tapatalk
yellowjacket1981 said:
so, I bought set cpu about 3 phones ago, but I never really saw a differnence, can it be used with the stock kernel?
Click to expand...
Click to collapse
Yes.
You cannot use anything the kernel doesn't already serve as an option, though.
SetCPU doesn't create options - it allows you user-level access to the ones already existing.
Normally you have no control over your clock speed but with it you can...say... limit the maximum clock speed to only be two-thirds of the stock speed.
Since it doesn't ramp up all the way, it doesn't drain as much power.
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done. But if you don't do much with your phone, and don't need a lot of high-end CPU ability, why let it run flat out?
You can also set it to be like that only sometimes, and maximize battery savings by telling your device to chill out when it doesn't have to be awesome.
Now, if you get into custom kernels where you or a dev has opened up more options, SetCPU will again give you user level control over them.
Especially once you get into overclocking beyond manufacturer(s) recommendations, not having some end-user level control over the processor like this is irresponsible.
If you think I run a 1.7 or 1.9 or 1.5+anything on the device flat-out balls-to-the-wall all the time, I would ask you if you drive your car with the gas pedal smashed to the floor all the time. (it's a fitting analogy)
No, again, that would be irresponsible abuse of the hardware for no good reason.
If not SetCPU, then there would be something else to use, but SetCPU is a great interface that not only works well but is maintaned within the XDA community by a member here.
I will always go for the XDA community member version of any app first - it's usually a problem solved from a perspective very near the way I am perceiving the issue, supports the community, and is always easier to find help on if necessary.
What's even cooler is SetCPU is given away free by the dev to XDA members.
I did go ahead and buy it anyway to support the dev. It is a fantastic tool at my disposal, and I have come to realize just how much time and energy goes into making this kind of stuff.
Beyond all that, though, there are a ton of crap apps and software out there slapped together by people who don't care or didn't put the right level of effort into their work. When I find something that actually works and works well after sifting through a sea of garbage, if there is a paid version of the app i'll usually buy it not only as a thank you but also to encourage that particular person to keep working. They - unlike many, many others (in my opinion) earned it.
I know i'm drifting off topic a bit, sorry for that - I just really appreciate quality work and SetCPU falls in with that crowd nicely.
Even without a custom kernel providing options beyond stock, there is still a lot of value this app can hold for anyone with root level access to their device.
Blue6IX said:
If you are playing games and stuff that needs a lot of resources, then the slower clock speeds cost you battery since it takes more effort to get the same work done.
Click to expand...
Click to collapse
Is this true? in my mind, I feel like it will take longer/not be as smooth, but wouldn't necessarily be worse for battery than a higher clock speed.
On a one-for-one comparison it leans more towards an even playing field, until you add that it's a dual-core processor and it very heavily skews the results towards less battery at higher clock speeds for complex operations.
Faster CPU speeds process the actions more quickly, and when you have to crunch a lot of numbers real quick like you do for most games the higher clock speed (especially on the dual core we are using) will complete the act with less power used. It is able to keep up with and/or outpace the flow of data being thrown at it.
If you are just using a notepad or browsing some forums maybe...sending a few texts? Then the higher clock speeds show a negative return on battery usage - you don't need it and it's wasteful.
But when the data has to stay buffered because the CPU is taking it's time working with it, not only is there more electricity consumed by keeping the processor alive longer but also the juice spent on keeping the data buffered.
The data computed is the same data computed at any speed (unless you lose data along the way...) but the power spent on completing that operation is not equal - not by a long shot.
On single core older processors where you are talking about a couple hundred megahertz one way or another the equation is much different, significantly diminshed returns on electricity invested, but with higher quality and multi-core processors especially they can cut through the data with significant ease when sufficiently powered.
But this is on processor intensive activities, and gaming is the first thing that comes to mind. For most other use of the device it's worth underclocking it and you will see battery gains.

Tame that GPU

As some reports I also see a huge battery drain in GPU intensive applications (e.g. Google Maps).
This phone comes with Adreno 418 GPU, max freq: 600MHz.
This is good for gaming, but might a kill for battery.
I found Device Control app (requires root)
https://play.google.com/store/apps/details?id=org.namelessrom.devicecontrol
where you can:
- limit max GPU freq to 450MHZ (and use for example, simple_ondemand governor)
- or try powersave GPU governor (this adds somewhat visible lag to Google Maps).
In my quick experiment Google Maps does not drain battery so much with these settings.
Moto needs to add settings to allow the user to adjust, since root voids the warranty.
rushless said:
Moto needs to add settings to allow the user to adjust, since root voids the warranty.
Click to expand...
Click to collapse
Hey, just curiosity... Did you return your xpe? I will try the new device when exchanged to see if temperature stays low.
Sent from my XT1575 using XDA Free mobile app
I plan on returning it tomorrow. I am confident the issue is the 808's GPU, so a replacement should perform the same way.
VadimTk said:
As some reports I also see a huge battery drain in GPU intensive applications (e.g. Google Maps).
This phone comes with Adreno 418 GPU, max freq: 600MHz.
This is good for gaming, but might a kill for battery.
I found Device Control app (requires root)
https://play.google.com/store/apps/details?id=org.namelessrom.devicecontrol
where you can:
- limit max GPU freq to 450MHZ (and use for example, simple_ondemand governor)
- or try powersave GPU governor (this adds somewhat visible lag to Google Maps).
In my quick experiment Google Maps does not drain battery so much with these settings.
Click to expand...
Click to collapse
How the battery life have been for you after this, is a big change or not to much
Sent from my XT1575 using Tapatalk
juancaperez2000 said:
How the battery life have been for you after this, is a big change or not to much
Click to expand...
Click to collapse
In my opinion an improvement in batter life when using Google Maps is huge. But you will not see an impact if apps do not use GPU.
I'm curious as to what happens when one enables "Force GPU rendering" in Developer Options after doing this tweak.
GabeEddyT said:
I'm curious as to what happens when one enables "Force GPU rendering" in Developer Options after doing this tweak.
Click to expand...
Click to collapse
That setting is more a legacy setting when apps were just starting the transition of levering GPU resources. Should have little impact now, but get your point.
Sent from my XT1575 using Tapatalk

Xperia Z5 gpu undervolting?

Is it possible to implement gpu undervolting into a kernel for the Xperia Z5 I'm looking at you @AndroPlus XD , cpu undervolting is very much possible, it helps reduce heat and increase the lifespan of the chip, so if we can do this on the cpu why not the gpu?
For the Z5 undervolting the gpu isn't necessary.. And I dont recommend doing it either..
The reason being (from my experience and attempts at changing gpu governors and clock speeds)..
I have come across the following scenarios/issues.
1.. Changing the GPU governor from the default governor with 3CToolBox Pro to a different governor force reboots the device instantly and reverts back to default governor settings..
2. Min gpu clock speed is 180Mhz and may is 680Mhz. While playing graphically intense games the gpu barely increased in speed.. It was literally idling at 180Mhz and barely flinched up any higher. Changing the Min speed made no difference in performance.. But from what I remember device still gets hot but not hot enough to cause any concern..
If you're going to undervolt the gpu my advice would be to decrease the maximum gpu speed to like 450 or 510 because as I mentioned above, the gpu speed almost never even increases past minimum that I have noticed when monitoring.. So setting the gpu may speed down 1 or 2 levels would be better and atleast a tad safer incase of sudden voltage / overvoltage spikes..
That's just my 2 cents and friendly advice mate. But I would like to know how you go with this and would love to hear the outcome once you have gone through with the tweak. Let me know how it turns out.
Good luck bro.
Sent from my E6653
TheTecXpert said:
For the Z5 undervolting the gpu isn't necessary.. And I dont recommend doing it either..
The reason being (from my experience and attempts at changing gpu governors and clock speeds)..
I have come across the following scenarios/issues.
1.. Changing the GPU governor from the default governor with 3CToolBox Pro to a different governor force reboots the device instantly and reverts back to default governor settings..
2. Min gpu clock speed is 180Mhz and may is 680Mhz. While playing graphically intense games the gpu barely increased in speed.. It was literally idling at 180Mhz and barely flinched up any higher. Changing the Min speed made no difference in performance.. But from what I remember device still gets hot but not hot enough to cause any concern..
If you're going to undervolt the gpu my advice would be to decrease the maximum gpu speed to like 450 or 510 because as I mentioned above, the gpu speed almost never even increases past minimum that I have noticed when monitoring.. So setting the gpu may speed down 1 or 2 levels would be better and atleast a tad safer incase of sudden voltage / overvoltage spikes..
That's just my 2 cents and friendly advice mate. But I would like to know how you go with this and would love to hear the outcome once you have gone through with the tweak. Let me know how it turns out.
Good luck bro.
Sent from my E6653
Click to expand...
Click to collapse
1. thats because some of the options arent even gpu govenors,
2. im pretty sure xperias newer than 2014 will have something called AVS which stands for auto voltage scaling, im not sure if this is the case with z5 but im no dev so i cant confirm my self.
and the snapdragon 810 is known for a being a cpu that gets hot, i believe the z5 has a newer version with the problem somewhat fixed but that doesnt account for sonys somewhat "meh" method of cooling but atleast its way better than before.
Just leave it on default tbh. Unless you're adamant on undervolting lol
Sent from my E6653

Killing the whole LITTLE cluster, using just the two cores in big cluster

Can anybody tell me how to do it? I think most of the heat (implies battery drain) and downgrading performance comes from the 4 A53 cores in LITTLE cluster, so I want to shuts all of them (if possible) and use only the two big cores.
Yes with resurrection rom and the custom kernel.
It is the A57 cores that overheat. I am not sure adding that much load is a good idea.
From my experience, CM13 from ketut has better CPU task management and seems to lower temps and battery consumption on normal usage. Of course playing games will also heat the device but it in opinion provides better sustained performance.
OK, so it's not so possible with official ROM, eh? I can't make any core offline (it goes back online too fast that setting 444 permission afterwards with && is too late ) even though perfd has been stopped. I wonder who really controls the cores...
leledumbo said:
OK, so it's not so possible with official ROM, eh? I can't make any core offline (it goes back online too fast that setting 444 permission afterwards with && is too late ) even though perfd has been stopped. I wonder who really controls the cores...
Click to expand...
Click to collapse
official ROM kernel uses core_ctl hotplug, how to configure read here
http://forum.xda-developers.com/xperia-z5/general/root-required-performance-battery-t3376233
int0x19 said:
official ROM kernel uses core_ctl hotplug, how to configure read here
http://forum.xda-developers.com/xperia-z5/general/root-required-performance-battery-t3376233
Click to expand...
Click to collapse
Aaa... so those are the culprits... nice info

Categories

Resources