Related
So this is a development idea...
I thought about this the other day and realized that under volting could be causing my battery to die quickly...
Here's why.
V = I * R
Where v = volts, I = amps, R = ohms.
P = V * I
Where P = (power)watts
I know some of you are going to think that this doesn't belong in development, but here me out here.
So if the processor uses 1.5 Watts and we decrease the voltage, this means that the processor needs to increase current to maintain that power. This equates to reduced battery life.
I'm just suggesting that undervolting may be causing the low battery life. If you know better feel free to tell me I'm wrong, but please explain the mechanics of what is going on not just your theory.
This question is over my head so I'll refrain from speculating directly on your theory. But real-world results with my undervolted Stupidfast 1.54 kernel gives me much better battery life than stock. Yes, this may be due also to the unbloated-ness as well so I'm not 100% certain the undervolting is the main help here
Well....I dunno how this applies to CPUs but.... I used to be a car audio installer/buff and when we noticed voltage sagging to an amplifier, the amplifier would compensate by pulling more amperage at the lower voltage. It never seemed to make much different to the batteries, but it did make the amps run much hotter...so....
Again, not sure if it would tie in, but....
Hmm I've never thought about that. From my RC knowledge the most efficient set ups are the ones that use high voltage but low amps.
I may have to try a OV kernel and see if I notice a difference...
Sent from my Samsung Fascinate running BH3.0, DL09, 125mv undervolt Voodoo5 using SwiftKey and Tapatalk
As a disclaimer, I have not performed any formal reading on this topic, these are just my idle ramblings.
My contention has been that you only enjoy the benefits of a UV kernel if you are a certain type of user.
If you are performing CPU intensive tasks, you reap the most benefit from the UV kernel because it needs less power to run at 1 GHz (or whatever the maximum clock speed is set to for that kernel).
If you spend alot of time idling, for instance reading interspersed by web requests, you are spending most of your time at the minimum clock speed. With the stock kernel, that is set to 0.1 GHz. With a UV kernel, the minimum clock needs to be set to something higher to keep the CPU running. You may be able to estimate what this speed needs to be based on the fundamental power calculations in the OP.
The governor quickly changes your clock speed based on your current usage & requirements. To make optimal use of the CPU governor, it should have access to the broadest possible range of speeds (without going higher than is useful/safe). Unfortunately, undervolting a kernel sacrifices some of the lower end of that range. Therefore, many users see much improved battery life, while others (like me) experience noticeably diminished overall performance from UV kernels.
Swyped w/ XDA App. When in doubt, mumble.
P=V*I
The processor does not draw a constant power, but it does have a minimum. The point of undervolting is bringing the power consumption to that minimum within the phones physical environment and user expectations of functionality.
So...
You are right.
However, processor frequency is dependant on current. Thus if you are undervolting to save battery life then you will need to keep your frequency the same or lower to notice a difference. If you are overclocking (increasing current) and undervolting then your P stays the same so the user ends up feeling the battery life to be the same or worse.
Facundo
Are there any standard or over volt kernels available so we can test this theory? It seems as though all the kernels available are UV.
Sent from my SCH-I500 using XDA App
would you like a standard voltage kernel to test?
Personally I see worse battery life on UV kernel. My usage mostly equals to dumb phone, with email sync and moderate web browsing.
I would change formula to I = V/R, which will read as current is directly proportional to voltage and inversely proportional to resistance. That makes obvious that reducing voltage we decrease current. However one point to note here is that this law is for PASSIVE conductor, which is obviously not our case. I would not speculate further, because we do not know what king of power conversion happens. It might simply turn out that conversion is not efficient at lower voltages. Google desktop power block certifications/efficiency to see whet I mean.
I compiled some kernels so you folks can play with it. I SERIOUSLY doubt you will get better life with my stock voltage vs. undervolt, but give her a shot.
Undervolted
Voodoo
http://adrynalyne.us/files/kernels/adryn_test2_0116_fascinate_voodoo5.zip
Nonvoodoo
http://adrynalyne.us/files/kernels/adryn_test2_0116_fascinate_novoodooo.zip
Standard voltage
Voodoo
http://adrynalyne.us/files/kernels/adryn_sv_0116_fascinate_voodoo5.zip
Nonvoodoo
http://adrynalyne.us/files/kernels/adryn_sv_0116_fascinate_novoodoo.zip
I'm giving the SV Voodoo kernel a try right now.
Sent from my Samsung Fascinate running BH3.0, DL09, and Voodoo5 using SwiftKey and Tapatalk
I thought about this as I thought about power lines. They use super high voltages to reduce the amount of power loss through the lines.
Anyways, sounds good, I'll test it out. I'd have to get a baseline. I guess I'll charge my phone right now and test out the regular voltage.
I'll let you guys know tomorrow the differences tomorrow.
In all honesty, I don't ever feel that I get more juice out of unvervolt kernels and I've been using all kinds of kernels since the release of MT3G.
Thanks for the standard voltage kernel!
I do appreciate you efforts in continually optimizing these, having a baseline to compare to just makes it all the more wonderful.
I will give the SV (standard voltage) a day or so of testing and then compare the UV against to make the test fair. With ten minutes of use ^^, it is already a great contender for my daily driver. I had gone back to 11/29 from 12/30. 11/29 was a terrible pairing with DL09; my GPS was unusable.
$ busybox md5sum ad*.zip
aea1047f3b2d33e759064d47cc8cac27 adryn_sv_0116_fascinate_novoodoo.zip
Works great!
Swyped w/ XDA App. When in doubt, mumble.
I wonder if android has battery test application, just to be put everything in the same play field? It's kind of pointless to compare subjectively.
Well, I tried to be objective with this test I just did.
Here were my conditions:
Charge to full, write down the time it was at full charge which wasn't 100%.
Let it sit for one hour.
Write down the charge.
SV Conditions
Starting charge 99%
Ending charge 97%
UV Conditions
Starting charge 98%
Ending charge 96%
The results...
SV - 3% discharge / hour
UV - 2% discharge / hour
Errors analysis:
There are several issues with this test because they were not even at the same charge at the start. Batteries have their maximum charge at 100%, and the rate of decrease is not a linear decrease. More testing is needed to compare the results.
Also the duration is not long and other factors have not been considered such as background applications refreshing on their own. I will have to test for 8-10 hours of each at idling tomorrow to get an accurate measurement.
Currently, I'm still on the UV kernel and I'll publish my results tomorrow of the UV over the 10 hour period.
Then I'll try to not use my phone throughout the day and test the SV.
It would be nice if someone could test the SV and UV with moderate usage and write down the initial charge, final charge, and the duration between the measurements. And another using heavy usage.
Thanks.
RacerXFD said:
SV Conditions
Starting charge 99%
Ending charge 97%
UV Conditions
Starting charge 98%
Ending charge 96%
The results...
SV - 3% discharge / hour
UV - 2% discharge / hour
Click to expand...
Click to collapse
Im confused with your math here...
Yeah, your math is off.....
Sent from my SCH-I500 using XDA App
RacerXFD said:
So this is a development idea...
I thought about this the other day and realized that under volting could be causing my battery to die quickly...
Here's why.
V = I * R
Where v = volts, I = amps, R = ohms.
P = V * I
Where P = (power)watts
I know some of you are going to think that this doesn't belong in development, but here me out here.
So if the processor uses 1.5 Watts and we decrease the voltage, this means that the processor needs to increase current to maintain that power. This equates to reduced battery life.
I'm just suggesting that undervolting may be causing the low battery life. If you know better feel free to tell me I'm wrong, but please explain the mechanics of what is going on not just your theory.
Click to expand...
Click to collapse
I'm an electrical engineer, and none of this makes any sense. V=IR is for current and voltage going through/across a constant resistor. Transistors are not constant resistors. The current through a Metal Oxide Semiconductor Field Effect Transistor (MOSFET), the type of transistor that is in basically all ICs, is always in positive relation to the voltage, at least for the purposes of this basic explanation. Decreasing the supply voltage, which is you can consider to be the VGS of a transistor for a simple analysis, is always going to decrease the current as well. Thus, depending on the range of operation of the MOSFET, decreasing the voltage will also decrease the current and thus power will decrease more than linearly. Less current means that the transistors will charge and discharge capacitances slower, and that's why you need voltages for higher clock speeds and overclocking IN GENERAL. Device physics is really weird.
Now, someone else was saying that maybe because you undervolt it less current goes through which means it needs to spend more time in a higher clock state. This is completely false, the current going through it has nothing to do directly with the amount of work done. Yes, you need more current for faster clock speeds, but at a given clock speed, it doesn't matter how much voltage or current there is and how fast the individual parts of the circuit work, as long as the longest delay in any part of the circuit is less than the clock rate. If it's longer than the clock period, then your circuit is no longer going to function and you'll have instability and crashes, but there is a bit of wiggle room designed into these circuits because each chip can be different. That's why you can overclock or undervolt a CPU, because obviously if it was designed to run at the fastest clock speed possible, any little variation in supply voltage, temperature, manufacturing process/lithography (which is very common) would cause your CPU to completely not function. You have to design your circuits to be tolerant of some amount of error from many sources (even cosmic radiation in some cases), otherwise it won't just be slow, it won't function at all. Logic circuits are clocked to synchronize data going through the circuit, and if the timing constraints aren't always obeyed you'll get wrong answers which would probably crash your OS. Undervolting will never cause the CPU to do less work in one clock cycle, unless you undervolt it too much, in which case things will likely blow up in your face.
Sorry for the wall of text, but hopefully this will clear up some stuff. And in the future, please stick to what you're good at and don't try to speculate things based on one formula that you heard sometime in physics while you were half asleep, or something some CSR told you to get you to shut up. Believe it or not, the people who are designing CPUs and writing/modifying kernels and operating systems actually know what they're doing and you're not going to suddenly realize that they're going about their business wrong because of something you learned in high school.
Edit: One other thing. The calculation of percentages of battery life is a bit of guesswork on the side of your phone, trying to determine via statistics what a voltage level means in terms of percentage of battery life. Battery voltages don't drop linearly as you use them, and can be affected by many things, such as whether it's plugged in to the charger in particular. That's why you see a drop immediately when you unplug your phone, and why looking at 2-3% differences is completely meaningless. The better way to test would be to actually see how long you can use it with an equal amount of work being done on each voltage, which is hard to do in real life. Too many variables are present in today's smartphones, what with background tasks and data coming and going and the like. And wireless radios are a huge battery drain, especially when you're receiving a weak signal. I would advise people to just carry a charger or usb cable with them and top up your battery when you need to rather than worry so much about small differences in battery life. You'll save on a lot of stressing .
Thanks for the explanation. I'm an aerospace engineer. I did have to take a few courses in EE, but nothing to your level. So please let me know if I'm completely off on my testing.
I am pretty sure that the Devs know what they're doing, but I was getting tired of my low battery life and I was willing to test this theory of mine out for them. Again, seriously if I am completely out of the park in terms of this testing, let me know. And I'm ok with being called stupid as long as you teach me what I did wrong...
Yea, I completely forgot how with transistors, the math regarding voltage is handled differently than through a resistor. Are you telling me that the battery life will not be different between standard voltages and under voltages?
EDIT: I understand what you're saying about lowering voltage lowers current because the current has a linear relationship with the voltage in a MOSFET chip. Thanks, I had to read that like 5 times to understand and remind myself.
This is a complete waste of my time at this point because I know what's going on, but I wish to share my results anyways...
Ok here's where I got with the testing since last night. I realize that battery life is nonlinear. But i figure this is better than nothing.
But I did complete 8 hour test of SV at idle.
Starting charge percentage 94%
Ending charge percentage 82%
Which results in 1.5%/hour discharge rate at idle.
Will do the undervolt today. I'll document that in roughly 8 hours.
Hey all,
I've been noticing over the past few times I've been playing GTAIII and MC3 that the internal temp of my phone rises drastically, to a point where I can barely hold one side of my phone without having to let go every few seconds because it is so hot. From where the battery is positioned, I assumed it might be the GPU heating up, but other att gsII users said their batteries were heating up.
So,
1) Is anyone else experiencing these problems
2) If you are, has anything happened to your phone
I'm debating whether to trade it in for a new one, because I'm still under warranty.
Welcome to high performance electronics. If you push the CPU/GPU hard it's gonna heat up. It's like a desktop, if you do something CPU/GPU intensive it'll heat up. It's a simple byproduct of inefficiency.
As to batteries heating up, that could just be because they're close to the CPU/GPU. Batteries will warm up under high current draw as well.
Do you have a case on your phone? Those tend to trap heat in as well.
Sent from my SGH-I777 using Tapatalk
If your phone is overclocked, the processor will be running at the max clock you have set while playing the game, which is higher than what it's supposed to be running at, i.e., the stock clock. Prolonged usage at this higher-than-normal clock will generate excessive heat.
Sent from my SGS II.
Yeah I don't play GTA3 anymore because of this kind of stuff. It doesn't get to the point where I have to literally move my hands because of the heat though. I simply don't like my phone getting even remotely warm. I'm just really anal about stuff like that. I fear that doing it will shorten the life of the device and I love this phone way too much to let that happen.
I'm sure it's designed to run at these higher temps since mine is completely stock with regards to cpu speed and voltage. If I can't play a game due to this, then I simply pass on the game. Same with my computer but I digress...
Download an app to check the temperature. Yes, ideally cooler the better, but the phone is designed to handle a certain amount of heat.
From what the op is describing, that is definitely too hot. Over time the components life can be shortened. But what you'll see first is your battery life going down, even quit working all together.
Underclock the processor. That can help keep the heat down. Even as low as 500mhz can pay many games. 800mhz should be plenty for most high end games.
Sent from my páhhōniē
I'm not overclocked, but yeah, same thing happens with me when I play MC3. I got scaredish since it got a bit too hot, seemed more hot than it was supposed to be.
download the diagnosis app and set it to check your batt temperature, if that gets above 45c I would be worried and think about underclocking/undervolting.
As long as your phone is cool enough to handle, don't worry. There's a lot more to it, but the electronics can take a lot more than most people credit them for. The battery is the most sensitive to temp, but so long as it's not for terribly long periods of time, you shouldn't even notice any additional degradation over the long run.
Sent from my SAMSUNG-SGH-I777 using xda premium
I have the Otterbox, which is probably the absolute worst case for heat efficiency
Kadin said:
Yeah I don't play GTA3 anymore because of this kind of stuff. It doesn't get to the point where I have to literally move my hands because of the heat though. I simply don't like my phone getting even remotely warm. I'm just really anal about stuff like that. I fear that doing it will shorten the life of the device and I love this phone way too much to let that happen.
I'm sure it's designed to run at these higher temps since mine is completely stock with regards to cpu speed and voltage. If I can't play a game due to this, then I simply pass on the game. Same with my computer but I digress...
Click to expand...
Click to collapse
I agree! I baby this phone to every extent and I hate that feeling I get when it gets warm because I just assume the worst. I keep thinking the gpu is going to blow up or some extreme thing like that
What temp ranges are ideal?
gr8hairy1 said:
Download an app to check the temperature. Yes, ideally cooler the better, but the phone is designed to handle a certain amount of heat.
From what the op is describing, that is definitely too hot. Over time the components life can be shortened. But what you'll see first is your battery life going down, even quit working all together.
Underclock the processor. That can help keep the heat down. Even as low as 500mhz can pay many games. 800mhz should be plenty for most high end games.
Sent from my páhhōniē
Click to expand...
Click to collapse
What temp ranges are ideal?
Brodad said:
What temp ranges are ideal?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1372473
Average day to day operating temps are between 30° and 40° celsius.
Sent from my páhhōniē
If anyone's interested, I have pretty much eradicated the heat problem while also boosting battery life and conserving performance. This was done through setCpu: http://forum.xda-developers.com/showthread.php?t=505419
The problem was that apps were just running the processor like crazy on the 1.2 GHz speed setting, and it used a considerable amount of juice that was unnecessary, heating up the battery to a ridiculous amount.
But anyway, here's the profiles/voltage settings I use:
Main Governor: 200 MHz - 1200 MHz on demand
Profiles:
- Charging, 800 max, 200 min, ondemand, priority = 100
- Temp > 44.1 Celsius, 500 max, 200 min, conservative, priority = 100
(this is a conservative temperature, but most place the *dangerous* amount of heat at 50 degrees before battery life starts decreasing, the CPU/GPU components have solder that melts at 70 degrees)
-Screen Off, 500 max, 200 min, conservative, priority = 75
-Battery <25%, 800 max, 200 min, powersave, priority = 75
-In Call, 800 max, 200 min, conservative, priority = 50
Voltages:
(I was able to undervolt by 50-75 mV for each and still remain stable, these are tested btw)
1600 MHz - 1400 mV
1400 MHz - 1225 mV
1200 MHz - 1200 mV
1000 MHz - 1100 mV
800 MHz - 1025 mV
500 MHz - 950 mV
200 MHz - 875 mV
and that's it! It's working great, I don't have the heat issues I used to, now I can play graphically demanding games and the temp doesn't rise past ~42 degrees, pretty solid improvement. I also get 24-28 hours of battery life with 2-2.5 hours of screen on time per day.
No need to worry about this. That's nowaday phones designed to be. Just normal heat.
amtrakcn said:
No need to worry about this. That's nowaday phones designed to be. Just normal heat.
Click to expand...
Click to collapse
I agree that's how they're 'supposed' to be. But things mess up. AMD processors are designed to handle heat, but they are still known for getting too hot and damaging the graphics chip. Better safe than sorry.
Sent from my páhhōniē
Agreed. theory and actuality are two incredibly different concepts
As a new owner of the Z5C (rly impressed so far ) I couldn't help but notice the heat, courtesy of the SD810 I assume.
So i've started monitoring the temps for the past few days with CPU-Z and Cpu Temperature.
For the most part while doing everyday tasks such as phone calls, news, music, Whatsapp and so on the temperature is around 30-40ish which seems reasonable and causes no concern.
Whilst doing something more intense such as running a game, installing/updating app, or recording video the temperature jumps to around 45-60 which again seems reasonable.
There are sudden momentary (2 second) spikes to 70's 80's usually while doing heavy R/W tasks such as installing an app.
Battery temps usually hover around high 20's to mid 30's whilst doing normal tasks and during more intense tasks can jump up to around 40ish.
I was wondering if other users here who also bothered to monitor their thermals are experiencing similar results or not?
Also am curious to know if someone knows what the msm_thresh threshold is for the Z5C i've noticed mine topping at around 41..
Thanks
I have been getting pretty much similar results, albeit a bit lower temps due to disabling a few cores. Those temps are perfectly fine, as long as the battery dosen't get to the high 40's. The throttling stats when the battery reaches 43°C and clears when it get down to 41°C, you can find the throttling thresholds in the file called thermal-engine.conf located in /system/etc/
Hey, this is my first post here! **Edited for... uh... clarity and to add some information. Hopefully it's more readable now.
I found a way to control and manage the thermal throttling of the device.***
Modern smartphones create a lot of heat, and usually the casing of the device or the aluminum midframe chassis is used as a heatsink. Unlike a laptop, it does not have a cooling fan, so it must rely on the passive dissipation of heat through the casing of the device and the display panel to keep the CPU temperature down. On the Nexus 6P, there is decent thermal contact between the processor IC and the midframe. However, due to both the fact that the RAM is layered over top of the CPU and because the thermal contact is still not ideal, it is difficult to keep the CPU as cool as a computer implementation.
In order to reduce heat production and control the temperature of the device, the OEM implements thermal engine for Qualcomm MSM chipset in order to slow the frequency of the CPU and GPU cores down when the temperature is high.
Right now it is set to 50C throttling temperature, presumably so that the heat production does not cause the display panel to heat up to the touch, as at lower powers, the thermal mass of the aluminum frame plus passive dissipation will make case temperature increases not very noticeable. However, at 50C, the CPU will often throttle even at medium load, because the hardware does not make it easy to keep the temperature under that. This has been true for every phone I have worked with in the past and some are even worse at this.
Personally, I find that having a high (>45C) surface temperature is not a huge problem (You can decide that for yourself. if it is a problem for you, this won't help you. You can't change the power efficiency limit of the processor). In my use case, when I have a lot of applications open, especially Firefox in desktop mode, or 4-way Android M multitasking or something like that (or just typing to a lot of people in Facebook Messenger or something similar). I kinda use the thing like a computer so obviously it has extended periods of high CPU workload and the device starts to throttle back to something like 1344 or 960MHz or even lower.
Given this, what I want to do is change the CPU throttle temperature to a higher one. Generally, we don't need to worry about protecting the processor hardware because it has built in thermal shutdown/reset functions should something go wrong. It's at something like 110C, which sounds high, but as someone who uses a MacBook Pro, it is normal to see the CPU temperature that high! Intel generally throttles at a much higher temperature because they don't care about the actual temp of the heat sink, only that of the processor die.
In the past kernel I tried, there was an option to set up the thermal throttling temperature (God's Kernel). However, I switched to the AK kernel recently, due to its High Performance Audio feature. This kernel did not include support for this configuration.
I am running MH19Q Marshmallow stock.
I used File Explorer with root access to go to system/etc I think and there is a file called thermal_engine.conf or similar. If you edit it, you see there are a lot of values. Actually basically if you look around, there are a lot of temperature values in there seperated by the things they control. I would like to explain more, but I think it is better if you can open up your file and my file side by side and see for yourself what's different. The gist is that there's a table of values and a bunch of actions to take when they're hit, and of course, there are release temperatures, which are basically the lower hysterisis limit I think. The temperature values look like 44000 or 43000 by default, which means 44C and 33C (celcius)and I changed mine to 97000 (97 C)
Here you can find the content of the file. Type in the pastebin website, then put slash QYhi05rE.
I didnt keep my old file.... sorry about that... Perhaps someone can post it if they have it.
With stuff set to 97 C, the device heats up a lot more, obviously, but it's manageable. If you have something like Cinema 4K open for a long time, of course it will get to like 50C on the surface (That is quite unconfortable to put your hand on, but I'm okay with it). Hangouts video calling seems to be the worst and sometimes the battery will get higher than 50C and then stop charging. Given the design of the phone, by the time the battery gets too hot to be safe, the system will probably shutdown or restart, and you'll notice it LONG before anything becomes a problem.
Thanks for looking!
***Do this at your own risk, as with all root mods and tricks. Obviously this has the risk of breaking things or causing hardware to fail. High temperatures on BGA soldered chips have been observed to increase the failure rates, even in stuff like routers and TVs and other stuff that you don't generally think of as having thermal issues. My last phone (Note 5) kinda broke after a little while, although I'm not sure if me doing this caused it. (Appears to be display panel issue, but have not tested). All I know is that earlier that day I was outside filming on it and processing video, and that the area above the SoC got rather warm to the touch. Which should be read as "painfully hot" to most.
file removed? add disclaimer pls
LarryChendragon2099 said:
Hey, this is my first post here! **Edited for... uh... clarity and to add some information. Hopefully it's more readable now.
I found a way to control and manage the thermal throttling of the device.***
Modern smartphones create a lot of heat, and usually the casing of the device or the aluminum midframe chassis is used as a heatsink. Unlike a laptop, it does not have a cooling fan, so it must rely on the passive dissipation of heat through the casing of the device and the display panel to keep the CPU temperature down. On the Nexus 6P, there is decent thermal contact between the processor IC and the midframe. However, due to both the fact that the RAM is layered over top of the CPU and because the thermal contact is still not ideal, it is difficult to keep the CPU as cool as a computer implementation.
In order to reduce heat production and control the temperature of the device, the OEM implements thermal engine for Qualcomm MSM chipset in order to slow the frequency of the CPU and GPU cores down when the temperature is high.
Right now it is set to 50C throttling temperature, presumably so that the heat production does not cause the display panel to heat up to the touch, as at lower powers, the thermal mass of the aluminum frame plus passive dissipation will make case temperature increases not very noticeable. However, at 50C, the CPU will often throttle even at medium load, because the hardware does not make it easy to keep the temperature under that. This has been true for every phone I have worked with in the past and some are even worse at this.
Personally, I find that having a high (>45C) surface temperature is not a huge problem (You can decide that for yourself. if it is a problem for you, this won't help you. You can't change the power efficiency limit of the processor). In my use case, when I have a lot of applications open, especially Firefox in desktop mode, or 4-way Android M multitasking or something like that (or just typing to a lot of people in Facebook Messenger or something similar). I kinda use the thing like a computer so obviously it has extended periods of high CPU workload and the device starts to throttle back to something like 1344 or 960MHz or even lower.
Given this, what I want to do is change the CPU throttle temperature to a higher one. Generally, we don't need to worry about protecting the processor hardware because it has built in thermal shutdown/reset functions should something go wrong. It's at something like 110C, which sounds high, but as someone who uses a MacBook Pro, it is normal to see the CPU temperature that high! Intel generally throttles at a much higher temperature because they don't care about the actual temp of the heat sink, only that of the processor die.
In the past kernel I tried, there was an option to set up the thermal throttling temperature (God's Kernel). However, I switched to the AK kernel recently, due to its High Performance Audio feature. This kernel did not include support for this configuration.
I am running MH19Q Marshmallow stock.
I used File Explorer with root access to go to system/etc I think and there is a file called thermal_engine.conf or similar. If you edit it, you see there are a lot of values. Actually basically if you look around, there are a lot of temperature values in there seperated by the things they control. I would like to explain more, but I think it is better if you can open up your file and my file side by side and see for yourself what's different. The gist is that there's a table of values and a bunch of actions to take when they're hit, and of course, there are release temperatures, which are basically the lower hysterisis limit I think. The temperature values look like 44000 or 43000 by default, which means 44C and 33C (celcius)and I changed mine to 97000 (97 C)
Here you can find the content of the file. Type in the pastebin website, then put slash QYhi05rE.
I didnt keep my old file.... sorry about that... Perhaps someone can post it if they have it.
With stuff set to 97 C, the device heats up a lot more, obviously, but it's manageable. If you have something like Cinema 4K open for a long time, of course it will get to like 50C on the surface (That is quite unconfortable to put your hand on, but I'm okay with it). Hangouts video calling seems to be the worst and sometimes the battery will get higher than 50C and then stop charging. Given the design of the phone, by the time the battery gets too hot to be safe, the system will probably shutdown or restart, and you'll notice it LONG before anything becomes a problem.
Thanks for looking!
***Do this at your own risk, as with all root mods and tricks. Obviously this has the risk of breaking things or causing hardware to fail. High temperatures on BGA soldered chips have been observed to increase the failure rates, even in stuff like routers and TVs and other stuff that you don't generally think of as having thermal issues. My last phone (Note 5) kinda broke after a little while, although I'm not sure if me doing this caused it. (Appears to be display panel issue, but have not tested). All I know is that earlier that day I was outside filming on it and processing video, and that the area above the SoC got rather warm to the touch. Which should be read as "painfully hot" to most.
Click to expand...
Click to collapse
Not new.
This has been around and discussed for a while.
I have been running a modified thermal-engine.conf since day one.
Hello Axon 7 users, I just picked up one a couple of days ago. After finally figuring out the bootloader, bootstack and general stock experience I tested a little bit of gaming. I found that a basic game like Clash Royale heats the battery up to around 42°C already with low brightness and slow charging. A more intensive game like the new Knives Out runs only slightly hotter but it becomes apparent that CPU gets throttled soon after loading to 1036MHz across all cores causing lag.
It's disappointing so I tried to find how to modify the throttling. Using ZTE's Power Manager setting on performance or balanced doesn't seem to have a noticeable difference.I tried the only stock custom kernel AX7 but it's outdated on B32 and I find it randomly reboots regularly. The stock kernel itself allows some configuration, but the thermal settings in Kernel Adiutor don't reflect any charge.
A quick Google search brings up how LG V20 Snapdragon 820 users edit /system/etc/thermal-engine.conf to tweak the throttling levels. Their config is quite different but they mod big to 1824Mhz and let little scale itself.
I couldn't get thermal-engine.conf to use the thermal-engine-8996-perf.conf values by copying the values to it as it suggests inside. I tried renaming it with the -zte.conf ending as it suggests as well but that didn't work. After just renaming both the normal and perf conf files with a .bak ending, I've found better throttling performance. Big now throttles to 1632Mhz and little to 1324Mhz. As far as I can understand the files don't have charging rates inside, just GPU and CPU throttling.
However as expected the device heats up a few degrees more now. This now puts my battery up to 47°C in Knives Out under the same conditions. Charging is stopped at 45°C by the system so as previously mentioned it's unmodified.
I just wanted to check since I couldn't find it mentioned. Is everyone ok with gaming performance limited to 1036Mhz with the normal throttle? Also are my temperatures normal? I guess CPU doesn't seem that high reaching around 65°C, it's just that the battery has less than 20°C difference in intensive performance. I suppose it's a quirk of the heat pipe to battery as heatsink design. I just expected more from a metal unibody chassis and at least normal CPU gaming performance. I thought my Sony Z3 Compact design was bad for battery thermals, with the battery stacked behind the CPU board, sandwiched in insulating glass. But I didn't expect to see a phone to route a heatpipe directly to it's battery.
Anyway it is what it is. Follow this information if you want some better gaming performance at the cost of your battery cycle life. In my case I bought the Axon7 just as a separate media consumption device rather than a phone so I can live with the tradeoff. If battery gets bad enough before 2 years I'll consider using warranty at the loss of receiving their refurbished replacement. Manufacturer warranty's in fact cover batteries for 80% depletion.
I recommend the app DevCheck Pro for being able to monitor CPU, GPU, temperatures and other things overlayed. I think some others may do similar but they may not be updated for Big Little and are more instrusively overlayed.
Infy_AsiX said:
A quick Google search brings up how LG V20 Snapdragon 820 users edit /system/etc/thermal-engine.conf to tweak the throttling levels. Their config is quite different but they mod big to 1824Mhz and let little scale itself.
I couldn't get thermal-engine.conf to use the thermal-engine-8996-perf.conf values by copying the values to it as it suggests inside. I tried renaming it with the -zte.conf ending as it suggests as well but that didn't work. After just renaming both the normal and perf conf files with a .bak ending, I've found better throttling performance. Big now throttles to 1632Mhz and little to 1324Mhz. As far as I can understand the files don't have charging rates inside, just GPU and CPU throttling.
Click to expand...
Click to collapse
I read half of that to be honest, but just one thing: To make things harder, ZTE added added a write protection on the system. To disable it you have to use a computer and connect your phone with ADB, then issue "adb reboot disemmcwp" (like DISable EMMC Write Protection). Otherwise all the changes that you made get undone after a reboot, and obviously you'd have to reboot after modifying that file
On LOS you can use BeastMode (even if your phone isn't an A2017U) which for me is the best friggin kernel I've used in performance terms. There you can change thermal limits
Infy_AsiX said:
Hello Axon 7 users, I just picked up one a couple of days ago. After finally figuring out the bootloader, bootstack and general stock experience I tested a little bit of gaming. I found that a basic game like Clash Royale heats the battery up to around 42°C already with low brightness and slow charging. A more intensive game like the new Knives Out runs only slightly hotter but it becomes apparent that CPU gets throttled soon after loading to 1036MHz across all cores causing lag.
It's disappointing so I tried to find how to modify the throttling. Using ZTE's Power Manager setting on performance or balanced doesn't seem to have a noticeable difference.I tried the only stock custom kernel AX7 but it's outdated on B32 and I find it randomly reboots regularly. The stock kernel itself allows some configuration, but the thermal settings in Kernel Adiutor don't reflect any charge.
A quick Google search brings up how LG V20 Snapdragon 820 users edit /system/etc/thermal-engine.conf to tweak the throttling levels. Their config is quite different but they mod big to 1824Mhz and let little scale itself.
I couldn't get thermal-engine.conf to use the thermal-engine-8996-perf.conf values by copying the values to it as it suggests inside. I tried renaming it with the -zte.conf ending as it suggests as well but that didn't work. After just renaming both the normal and perf conf files with a .bak ending, I've found better throttling performance. Big now throttles to 1632Mhz and little to 1324Mhz. As far as I can understand the files don't have charging rates inside, just GPU and CPU throttling.
However as expected the device heats up a few degrees more now. This now puts my battery up to 47°C in Knives Out under the same conditions. Charging is stopped at 45°C by the system so as previously mentioned it's unmodified.
I just wanted to check since I couldn't find it mentioned. Is everyone ok with gaming performance limited to 1036Mhz with the normal throttle? Also are my temperatures normal? I guess CPU doesn't seem that high reaching around 65°C, it's just that the battery has less than 20°C difference in intensive performance. I suppose it's a quirk of the heat pipe to battery as heatsink design. I just expected more from a metal unibody chassis and at least normal CPU gaming performance. I thought my Sony Z3 Compact design was bad for battery thermals, with the battery stacked behind the CPU board, sandwiched in insulating glass. But I didn't expect to see a phone to route a heatpipe directly to it's battery.
Anyway it is what it is. Follow this information if you want some better gaming performance at the cost of your battery cycle life. In my case I bought the Axon7 just as a separate media consumption device rather than a phone so I can live with the tradeoff. If battery gets bad enough before 2 years I'll consider using warranty at the loss of receiving their refurbished replacement. Manufacturer warranty's in fact cover batteries for 80% depletion.
I recommend the app DevCheck Pro for being able to monitor CPU, GPU, temperatures and other things overlayed. I think some others may do similar but they may not be updated for Big Little and are more instrusively overlayed.
Click to expand...
Click to collapse
I have noticed the same performance many months ago.
I tried changing the thermal values with both ways through the conf file or a custom kernel but all implementations seem to be faulty as nothing changed.
In the end I gave up because I couldn't find a solution for this.
But I figured because my games clash of clans, ppsspp, gba emulators don't lag I din't care much.
If you find a solution let me/us know.
Or post the modded confs you're using as well if you can.
That's all from me.
I just renamed both the thermal-engine files with a .bak extension. I've also got ZTE's Power Manager frozen as the performance profiles there don't seem to do anything and I don't use it's other features. There's some kind of CPU GPU throttle still in place but it's much higher as previously mentioned,. After searching further I saw your discussion about /vendor/bin related throttle, maybe that's the fallback it's now on.
The device does get uncomfortably hot with a new demanding game at maximum settings. I wouldn't recommend doing this if you want to maintain your battery. However if you're interested I discovered the Ax7 allows defining a lower maximum battery voltage in another TL/DR post https://forum.xda-developers.com/showpost.php?p=74746734&postcount=1353. To explain simply, it's possible to limit the voltage low for health and safety while keeping the device almost primarily powered by mains. Effectively the battery is at an optimum low voltage, practically idle but very hot. A little complicated sure, but worth it. Getting a Daydream V1 tomorrow to play with, this stuff will help with heat and performance a lot. If anyone wants my long winded explanation, give me a shout.
The CPU temp does jump around higher than 70. I'm tending to think that current powerful mobile processors aren't efficient enough for the physical body constraints of phones. Let alone poorly designed ones. The 820 is meant to be an improvement over the 810, wouldn't believe it by the throttle required and performance lost. The 835 is efficient enough apparently. From experience though I have my doubts on reviews and benchmarks to reflect real usage stress.
edit: Oh and disable VDD restriction in your kernel setting if you've set it to auto enable. That seems to be a switch for the aggressive throttle still available after mod.
Sent from my ZTE Axon 7 using XDA Labs
Infy_AsiX said:
I just renamed both the thermal-engine files with a .bak extension. I've also got ZTE's Power Manager frozen as the performance profiles there don't seem to do anything and I don't use it's other features. There's some kind of CPU GPU throttle still in place but it's much higher as previously mentioned,. After searching further I saw your discussion about /vendor/bin related throttle, maybe that's the fallback it's now on.
The device does get uncomfortably hot with a new demanding game at maximum settings. I wouldn't recommend doing this if you want to maintain your battery. However if you're interested I discovered the Ax7 allows defining a lower maximum battery voltage in another TL/DR post https://forum.xda-developers.com/showpost.php?p=74746734&postcount=1353. To explain simply, it's possible to limit the voltage low for health and safety while keeping the device almost primarily powered by mains. Effectively the battery is at an optimum low voltage, practically idle but very hot. A little complicated sure, but worth it. Getting a Daydream V1 tomorrow to play with, this stuff will help with heat and performance a lot. If anyone wants my long winded explanation, give me a shout.
The CPU temp does jump around higher than 70. I'm tending to think that current powerful mobile processors aren't efficient enough for the physical body constraints of phones. Let alone poorly designed ones. The 820 is meant to be an improvement over the 810, wouldn't believe it by the throttle required and performance lost. The 835 is efficient enough apparently. From experience though I have my doubts on reviews and benchmarks to reflect real usage stress.
edit: Oh and disable VDD restriction in your kernel setting if you've set it to auto enable. That seems to be a switch for the aggressive throttle still available after mod.
Click to expand...
Click to collapse
That's weird... what are the ambient temps where you live? Here it's anything between 20 and 30 degrees and mine never gets that hot, and it barely throttles. Of course you shouldn't game while charging, that WILL throttle the phone.
I have a big old CPU heatsink without a fan, and when I charge the phone at night I just put it upon the heatsink. It keeps the battery around the ambient temp, which I guess helps with battery degradation.
A nice app for monitoring the CPU is Trepn profiler, you can program it to show you anything like frequencies and temps on 2 separate graphs for example