I have this tabled for a long time, but as i rarely used it i didn't bother with it much. From day one back in 2014 the tablet was sluggish and laggy, today is just unbearable even for browsing. So i have decided to take a look of what can i do.
I have installed the latest (10.26.2019) LineageOS-14.1-Deathly with gapps nano.
I have installed CPU Throttling Test from the play store and start testing to see what's going on. I saw that the CPU Throttle instantly (like in 10-15 sec max) from 1900mhz to 600mhz, and this is where the sluggishness comes from, the CPU is constantly throttled no matter that you are just looking at a simple web page.
I started playing with the Deathly Adiutor and under-voltage the cpu, set the max to 1400mhz and this is where it is stable as it is. At 1400mhz constant 100% CPU stress the CPU temps are around 90c (at 95 the cpu starts throttling). Anything above 1400mhz even with under voltages CPU results in throttling within 1-2 min, but even like that at 1400mhz and GPU set to be always used and at minimum of 480mhz (with setting in dev options to always use gpu for 2d composition) the performance was really much much better then the stock settings.
I have continued to play with it and noticed that if i apply pressure with my fingers on the back panel just below the camera where is the most hottest, the temps are dropping 10-15C, so i have opened it and i saw the issue.
The issue is that the metal shield radiators does not make a good contact with the thermal pad on the back panel, and thus can't dissipate the heat well. This may variety from user to user as some back panels will make better or worse contact, but its far from ideal.
Its good that i have some spare thermal pads around and i have applied them, and the result is perfect, drop in 12-17Cfrom stock setup under continues stress.
As a final result i have managed to bump the CPU from 1400mhz to 1600mhz with 1087mV voltage and at max 84C (down from around 90 at 1400mhz) at constant 100% CPU stress. The performance gains are around 100 to 150% (At around 42-47k GIPS up from 20-25k GIPS stock in CPU Throttling test). Additionally i have to say, its extremely easy to open the back cover panel.
Furthermore, i made an video to see how it runs and the settings i use.
https://youtu.be/_UJdjPDQB00
I'm attaching before and after the mod photos.
Quick followup, i have run 3D Mark benchmark and PCmark, see the screenshots below. Managed to achieve the world fastest Tab S, enjoy
Awesome.. I followed ur recommendations and set 1087mv at 1600mhz and its fasttttt
rihui said:
Awesome.. I followed ur recommendations and set 1087mv at 1600mhz and its fasttttt
Click to expand...
Click to collapse
Thanks mate. I'm glad it helps According to 3DMark, the performance now is slightly better then Galaxy Tab A 2019, it really bring new life to this tablet and its ready to rock another couple of years
how's your battery life with minimum CPU speed at 1600
Screen on & Standby time?
rihui said:
how's your battery life with minimum CPU speed at 1600
Screen on & Standby time?
Click to expand...
Click to collapse
Its not the minimum CPU frequency that gives you the performance boost, its the maximum frequency limit at 1600mhz down from 1900mhz, as i explained, to gain the performance, you need to avoid CPU from overheating and throttle down itself to the ground. That's why the max frequency with the thermal pads and improved thermals is 300mhz below the stock 1900mhz, and without the pads my max stable frequency were 1400mhz (500mhz below stock).
The minimum frequency will only smooth out initial animations and things like that, but don't have much of an impact on the overall performance. With that said, increasing the minimum frequency ofc will eat more battery and you don't need it, you can safely set it to 650mhz (as low as it allows) and depending on your kernel governor policy should have the same or better battery life. As i said, the main gainer is preventing the CPU from overheating at 1900mhz and throttle down to 650mhz where it sits most of the time with stock settings.
In fact if you limit your max frequency to 1400 or 1600mhz depending on your stable thermal results, and set minimum to 650mhz, you will see the performance gain AND significantly increased battery life due to that CPU does not go to 1900mhz and does not eat that much power and voltage. You really need to fine tune it depending on your needs, but at stock CPU throttling down to 650mhz and staying there is an manufacturer (Samsung) failure, and if i were discovered this when i bought it, i would wanted refund, as they advertise 1900mhz CPU which almost never works at that frequency.
I tested this method on other tablets and phones, and while it happens on other devices to throttle down after 5-7 mins (not after 15 sec), i have never seen to throttle more then down to 80% of the advertised frequency, but the Tab S goes almost immediately down to 35% where it stays and cripple the device. Its really really bad engineering from Samsung.
Going to try this.
Thanks
A lot better .
What thickness of thermal pad should I buy? Probably will buy from Amazon unless I need to make a trip to Microcenter. Thanks for this suggestion @nauvho
osutx427 said:
What thickness of thermal pad should I buy? Probably will buy from Amazon unless I need to make a trip to Microcenter. Thanks for this suggestion @nauvho
Click to expand...
Click to collapse
Well as you can see on the picture, the CPU bed already has one black pad by Samsung by default which is around 0.2/0.3mm i think, but it does not make contact, so i put on the CPU radiator 1mm pad and on the other radiators i put 0.5mm to equalize in case my pad is too thick. Your guide should be how easy is to close the back-plate, if you need too much force you may need thinner. So i guess you can take 0.3, 0.5 and 1mm pads.
effing A
Wow
Applied the same settings that you show in the video and WOW! It's like a new tablet. I didn't even put thermal pads.
joelcool69 said:
Applied the same settings that you show in the video and WOW! It's like a new tablet. I didn't even put thermal pads.
Click to expand...
Click to collapse
nice
just rooted t800 with MM + trw + SU.
added some thermal pads like in the pics.
installed Deathly Adiutor ....which said that doesn't like the kernel..and doesn't let to change the cpu max speed, and the voltage page doesn't even exist
installed Kernel Adiutor from playstore with which I can lower the freq, and for 1600 it works 1-2min at 27-28000GIPS then starts to throttle
louis_alphons said:
just rooted t800 with MM + trw + SU.
added some thermal pads like in the pics.
installed Deathly Adiutor ....which said that doesn't like the kernel..and doesn't let to change the cpu max speed, and the voltage page doesn't even exist
installed Kernel Adiutor from playstore with which I can lower the freq, and for 1600 it works 1-2min at 27-28000GIPS then starts to throttle
Click to expand...
Click to collapse
Why are you using MM? Also, did you noticed that center pad is thicker and side ones are tinnier? what are your CPU temps? Also probably due to MM, but I'm getting around 42gpis (average) at 1.6, but you should really check your pads placement, thickness and temps, put the CPU under load note the temps before throttling down.
nauvho said:
Why are you using MM? Also, did you noticed that center pad is thicker and side ones are tinnier? what are your CPU temps? Also probably due to MM, but I'm getting around 42gpis (average) at 1.6, but you should really check your pads placement, thickness and temps, put the CPU under load note the temps before throttling down.
Click to expand...
Click to collapse
I'm using MM since I don't know if it worth to upgrade; does this LineageOS work well...all features (cam, scanner, soud etc) works with it?
used 1mm pad over the cpu... 0.5 otherwise (china made); also removed the small factory pad and placed another pad patch there; the back cover heats well and I assume that the heat doesn't have where to go.
since it's not throttling at 1600MHZ (almost 100%, take a look at the pic)...from where to get more than 28GIPS?
louis_alphons said:
I'm using MM since I don't know if it worth to upgrade; does this LineageOS work well...all features (cam, scanner, soud etc) works with it?
used 1mm pad over the cpu... 0.5 otherwise (china made); also removed the small factory pad and placed another pad patch there; the back cover heats well and I assume that the heat doesn't have where to go.
since it's not throttling at 1600MHZ (almost 100%, take a look at the pic)...from where to get more than 28GIPS?
Click to expand...
Click to collapse
I don't think removing the stock black pad were a good idea, I did not removed mine, my pad is next to it. Also CPU throttle app is not reliable to monitor cpu temp (at least for me) , you should do it by starting the throttle test and then switch to deathly auditor and monitor the temp and clock there or other app like CPUz or Aida. Look at the video how I monitored the temp. The CPU will start throttle at 93-95c so your temp of 81 cannot be accurate if it throttle. Didn't you said that you throttle at 1.6 in your previous post?
Regarding the performance I think it might be eigher app difference between mm and 7.1 or due to MM itself. And yes everything is working perfectly for me with lineage, camera, fingerprint, everything is fine and it is mile better then MM imo.
installed 7.1
pcmark 4330 with your mods.
so the thermal pads doesn't matter on MM.
from my testings on 7.1 the boost in pcmark comes form setting max freq 1600 + undervoltage (3000->3500), and another boost...by setting the lower freq to 1600 (3500->4300)
louis_alphons said:
installed 7.1
pcmark 4330 with your mods.
so the thermal pads doesn't matter on MM.
from my testings on 7.1 the boost in pcmark comes form setting max freq 1600 + undervoltage (3000->3500), and another boost...by setting the lower freq to 1600 (3500->4300)
Click to expand...
Click to collapse
Nice.
About the pads, they matter only if the CPU temp under load drops when you apply pressure with fingers on the back cover as i explained in my first post, but idk if this apply to all tablets or just mine. The boost comes from not throttling the CPU down and being stable at maximum possible frequency. The CPU can go up to 1900mhz and beyond (2.1 by spec), but the cooling is not enough for that frequencies.
I think that adding an 0.5-1mm copper heat pipe thru radiators or copper heat pads similar to flagship phones might push it to 1.9, will order some someday and try it.
now it will be interesting ?% it's the termal mod in this boost, which means, performing the test in PCMARK only with steps 1+2:
1. LineageOS-14.1-Deathly
2. Deathly Adiutor (which requires step 1) + CPU max freq 1600 + undervoltage at that freq + CPU min freq 1600
3. Thermal pads added inside the box.
Since I started with thermal pads...I can say that in MM it doesn't matter.
-after upgrade to 7.1 as I said..PC...MArk around 3000 (thermal pads mounted)
-after setting max freq 1600 + undervoltage I got a boost in PCMark to 3600
-in addition, with min freq 1600...got another boost..to 4300; in this turbo state..the battery drains quickly, but the interface it's fast like the wind.
PCMark doesn't use CPU at 100%, it counts also how fast cand do certain short tasks...and this matters because if CPU it's in it's low power states..it loose time to rise its freq and do the calc at full power.
louis_alphons said:
now it will be interesting ?% it's the termal mod in this boost, which means, performing the test in PCMARK only with steps 1+2:
1. LineageOS-14.1-Deathly
2. Deathly Adiutor (which requires step 1) + CPU max freq 1600 + undervoltage at that freq + CPU min freq 1600
3. Thermal pads added inside the box.
Since I started with thermal pads...I can say that in MM it doesn't matter.
-after upgrade to 7.1 as I said..PC...MArk around 3000 (thermal pads mounted)
-after setting max freq 1600 + undervoltage I got a boost in PCMark to 3600
-in addition, with min freq 1600...got another boost..to 4300; in this turbo state..the battery drains quickly, but the interface it's fast like the wind.
PCMark doesn't use CPU at 100%, it counts also how fast cand do certain short tasks...and this matters because if CPU it's in it's low power states..it loose time to rise its freq and do the calc at full power.
Click to expand...
Click to collapse
Thermal mode does matter alot, CPU thermals is everything, the lower temps are, the higher frequency you can push the CPU, more frequency = more performance. As i said, without the thermal pads i could not get 1.6ghz to be stable, only 1.4 were stable-ish.
In stock rom, CPU governor and states are set according to the temps with the stock cooling. But if you don't change settings it wont change much. However Samsung engineers did a terrible job with those default settings, so as i explained in my first post only doing the software changes had dramatic impact on the performance because you get the CPU stable even at 1.4, but the thermal mod push it further to 1.6
The true performance benchmark is the 3DMARK (my screenshots 3 and 4 for score "ice storm unlimited" test and "Sling Shot" test) this will push your CPU and GPU to the max, PCMark is more about daily use performance and also can be used to measure battery performance between different settings.
Yes leaving CPU with minimum of 1.6 will drain battery more quickly naturally, is using more power, i leave mine at 1.2 as minimum, but minimum speed should not matter much in benchmarks if you are using the same as mine CPU governor. CPU governor basically tells the CPU how to behave, like how quickly to rise the frequency, for how long and etc.
Related
748/245
Temp < 50C 245/245 100
Screen Off 245/245 90
Charging/Full 719/245 80
Battery <40% 604/245 70
All ondemand
Temp > 42.1 528/245
Screen Off 528/160
Charging/Full 768/768
Battery <100% 768/245
that's listed by priority
Hungry Man said:
Temp > 42.1 528/245
Screen Off 528/160
Charging/Full 768/768
Battery
Click to expand...
Click to collapse
Screen Off: 245-480
**Stock is 245-245. 160 as a minimum seems to produce a LOT of wait time from when the call is coming in to when the phone lights up. More than 245 seems to whack the battery.
Keep in mind, when you wake up your phone, this Screen Off SetCPU Profile is active for at least a SECOND or two. The problem is that if you have your maximum at 245, you experience BAD lag trying to pull the lock bar down. At 245-480, the maximum is high enough that a) the lock bar pulls down as smoothly as a stock Eris, and b) even if SetCPU takes a couple of seconds to change the profile, at least you're at 480mhz for the first scrolling of the screen left/right (so you don't embarass yourself in front of iphone users). Anything higher than 480mhz is a different voltage. Almost the whole time your phone is 'Screen Off', it will be operating at 245 anyway. So 480 is a good setup for it to jump up when a call comes in (to play the ringtone and show the picture a little faster, and for the lock screen bar to pull down smoothly, and the first second of SenseUI to be smooth enough, until your phone changes the profile to your <100% profile.
Battery <100% 245-806
** Zanfur's take on how this processor clocks up/down its speeds will lend itself to a general wisdom that 768mhz isn't really slower than 806mhz, and that in instances of high variability of clock speed (aka you have some Power Save bias in SetCPU keeping it lower/higher at random, or you're doing very intermittent tasks), the processor rests at 768mhz more quickly, and wastes less time/'effort' changing speeds. Changing to 806 is another 'step' altogether, where 245 to 528 is one 'step', and that to 768 is another 'step'. Going to 806 is absolutely another step yet after that (which means your phone responds a LITTLE slower because it has one more step to 'throttle' up to). BUT, if you're doing a dedicated task, such as running a Linpack benchmark (which is a terrible benchmark anyway) your phone will move faster at 806, or if you're playing a game, or playing a video... generally the processor will stick at one speed (and not have to 'step' up or down), so 806 is faster. I clock friends' phones at 768 to avoid problems, keep it clean, etc etc. Some people put the minimum here at 160mhz, but I feel that this is too low (and another 'step', just like 806 is over 768, 160 is another step down from 245).
Charing (any) 480-806
** I keep the minimum here HIGHER than when the phone is on battery, because I'm less concerned about how much energy it's consuming, and having a minimum of 480 makes the phone very snappy no matter what, from the second you touch it
Overheating > 48C 122-528
** Clock speed here matters a LOT less than just getting your phone out of the heat. This phone doesn't overheat because it's overclocked, it overheats because you run it at an overclocked speed for a long time. MOST overheating instances are from wireless tethering and from broken charging systems (that keep trying to charge the battery and generate a lot of heat). The 'Failsafe' profile here provides a 'notification' option which I HIGHLY recommend.
My ex-gf's Eris actually CAUGHT FIRE, as in it looked like it was a zippo, right above the volume buttons. It used to overheat EVERY NIGHT that it was on the charger, excessively, so hot that you couldn't touch it. For a month or two it did this, actually, and caused no real damage to the phone. Since the night of the Flame (you can actually see the melted plastic and even on the outer case - she has a blue snap shell case on it that is melted as well), the phone has NOT overheated even one time on the charger. (Sorry for the story, it was a waste of time).
The point is that, the first time it happened, her phone System sound was on Silent, and she DIDN'T hear the notification that her phone was overheating. Apparently it doesn't matter (or she's very lucky her phone isn't damaged in terms of its operation!) how much it overheats for some people, but I like to have it warn me it's getting close to 50C. The notification's the important part there (so u can cool your eris), not the clock speed.
@pkopalek I like your settings you posted with a full description of each. I changed my settings to yours and give it a day or so and will report a status update as to performance quality
I've never lagged at 160mhz =p but that could just be my phones/ roms.
Hungry Man said:
I've never lagged at 160mhz =p but that could just be my phones/ roms.
Click to expand...
Click to collapse
my audio skips and it won't wake up when in a call at 160mhz. I keep mine at 245mhz minimum to keep phone working smoothly.
What does the different prioritys mean? Is that like what one its.focused on more?
Sent from my FroShedYo.V5 using XDA App
How do you guys clock your CPU so high? Whenever I try anything over 729 bad stuff happens. If I put it on 748 it lags and if i try 768 it freezes up. You guys are all using the droid eris right? What ROMs and kernels are you running? I'm on Kaosfroyo
sgbenton said:
How do you guys clock your CPU so high? Whenever I try anything over 729 bad stuff happens. If I put it on 748 it lags and if i try 768 it freezes up. You guys are all using the droid eris right? What ROMs and kernels are you running? I'm on Kaosfroyo
Click to expand...
Click to collapse
When a processor is made at the factory, it will always have flaws in it. The chip is tested to see what frequency it is stable at. So that is the speed that is stamped on the chip and the frequency that it is set at to operate for the consumer and not have any problems. When you overclock a processor, you are bypassing the frequency that the chip as been deemed to be stable at. After that, there is no set speed that your processor can handle, because each one is different according to the flaws it might have.
So in short (what I'm trying to say), the processor in your phone just can't handle those without causing problems. That's why when you overclock it, it's kind of a trial-and-error process to see what speed you can get out of it, but be careful, because too high can cause permanent damage.
Using Interactive governor
Main: 787/710
Temp > 42.1 C: 480/245 Priority: 100
Screen Off: 480/245 Priority: 95
Charging/Full: 480/245 Priority: 90
My specific issue involves SetCPU but I'm wondering about the larger scheme of how things work.
My phone gets hot in the car dock when running GPS, Navigation, and Bluetooth (I don't turn it on but I think my dock does it automatically). The general consensus is to underclock slightly when charging because charging generates heat, and I have a SetCPU profile to do that. Then comes the issue of heat generated from GPS and Bluetooth, and possibly processor load when running apps while docked, so I have two profiles for that: one to underclock a few steps down from the charging CPU speed when the temperature of the phone is at 40* C, another to clock down one more step when the temp hits 42* C, which I feel is at the point the phone gets a little too warm for use.
I've noticed that my phone doesn't necessarily stay cooler and in fact, sometimes it gets hotter than before I started using SetCPU. Over the past few days I've seen temps of near 45* C (113* F), toasty enough that I have to let my phone cool down before I can use it again.
So, my question is if underclocking too much is bad. For example, if I'm underclocking too much, does that strain the processor while it is trying to run apps and hardware? Is it better to let the system handle processor speed? I see this in driving a manual/standard transmission car - if I attack a hill in a high gear, I can eventually reach the top but with increased load on my engine. Maybe the processor speed works opposite - too low and it strains too much?
I used to be concerned about clock speed vs. battery life but now that I'm docking in my car more and noticing the heat, I'm more concerned about the heat. I'm currently using redstar's kernel but get the same results with that or the CM kernel that comes with the nightlies.
If it helps to troubleshoot, or if you want to critique me, here's my profile list.
Normal: 245 min, 998 max (default settings)
Priority 100 - temp > 42*C: 460 max, 245 min
P 90 - temp > 40*C: 499 max, 245 min
P 80 - screen off: 384 max, 245 min
P 70 - charging AC: 576 max, 245 min
(SetCPU related question, sorry if this is too far off forum topic) Are there better profile settings I could be using?
Also, I don't quite understand undervolting in terms of kernels. What effect does that have, if any?
Most people here probably knows that the higher the CPU clock speed is, the higher voltage the phone needs. Which means higher clock speed results to more battery consumption. This is very simple logic, and sure, in real life practice this theory is proven to be true.
One method that is usually used to gain better performance while not necessarily waste more battery is by overclocking and in the same time undervolting. Because there obviously is a certain level of voltage needed to run a certain clock speed, the normal practice is reducing the voltage level to a bare minimum level where the CPU can still run alright while raising the highest clock speed possible. Reducing the voltage too low usually leads the phone to shut off because there isn't enough voltage for the phone to run.
By following the theories above, we can conclude that to achieve the best performance while still considering battery life, adjusting the proper OC and UV level is needed. This is obviously only talking about hardware affecting tweaks.
We now know that the main factor affecting the overall performance vs battery life turns to be the clock speed itself. Now here comes the ultimate questions.
1) How does the phone handle its clockspeed?
2) Does the voltage level change according to; a) the current clock speed the phone is running at, or b) the highest clock speed set/allowed the CPU to go?
3) Does the highest clock speed set (OC) leads to necessary higher voltage, or does the voltage accostumize itself to the running CPU level?
The most logical answer to number 1 would be that the CPU changes its clock speed according to whatever is happening and needs to be done to achieve the best performance. So the clock speed will go up when there's lots of tasks, and go down again when there's little or nothing to do.
Number 2 and 3 I can't explain, but I hope after someone with enough knowledge explains how voltage level works, we can have an answer to the following case;
IF two same phones clocked differently, one at 1ghz and the other at 1.5ghz run the the same relatively simple task for a long time, will the lower clocked one noticeably save/waste more battery than the other one? Or will they consume the same amount of battery because they would most likely be running at the same clock speed (say, at 200 ~ 600)?
Hopefully we'll have a better insight about overclocking vs undervolting
silentmelodies said:
Now here comes the ultimate questions.
1) How does the phone handle its clockspeed?
2) Does the voltage level change according to; a) the current clock speed the phone is running at, or b) the highest clock speed set/allowed the CPU to go?
3) Does the highest clock speed set (OC) leads to necessary higher voltage, or does the voltage accostumize itself to the running CPU level?
Click to expand...
Click to collapse
I believe one would have to set each speed & undervolt up together if one scales the speed. I just run mine straight up at 1300MHz/1325mV all the time & set up profiles for screen off, charging, etc. I get wonderful speed & battery life.
Example:
1300MHz/1325mV
1200MHz/1275mV
1000MHz/1175mV
/800/MHz/1125mV
etc.
Each phone is different due to the variations in manufacturing.
The only way to really optimise your phone is to try all of the various settings and combinations of voltage/speed.
Set the phone to a given speed, stress test and try decreasing the voltage until you get crashes / errors. Then raise the voltage one level (or 2 if you are a bit paranoid) and that is the stable voltage for that speed.
Rinse and repeat for all other speeds...
Then set profiles in setcpu / pimpmycpu accordingly.
Job done.
---------- Post added at 06:09 PM ---------- Previous post was at 06:08 PM ----------
countrycoyote said:
I believe one would have to set each speed & undervolt up together if one scales the speed. I just run mine straight up at 1300MHz/1325mV all the time & set up profiles for screen off, charging, etc. I get wonderful speed & battery life.
Example:
1300MHz/1325mV
1200MHz/1275mV
1000MHz/1175mV
/800/MHz/1125mV
etc.
Click to expand...
Click to collapse
I think you could lower your voltages quite a bit - eg Mine runs at 1.4GHz at 1.2V
Ok my friend... so... having designed a circuit for a mobile phone myself, I'll try to explain quickly what's the deal (tradeoff) between frequency and voltage.
A CPU/GPU basically is made out of MOSFET's (transistors). Lots of them! They act like capacitors. They have to be turned on and off. At a certain frequency. So, basically they are capacitors being filled and emptied at a certain frequency.
In practice, a capacitor being filled and emptied at a high enough frequency can be seen as a resistor. A variable resistor in fact, as you can see (more or less) here:
http://www.electronics-tutorials.ws/filter/filter_1.html
The thing is, the higher the frequency, the lower the equivalent resistance, because the amount of current keeps getting higher and higher. If the current value gets high enough the very tracks (you can think of them as wires) from the battery to the transistors start having a considerable drop in voltage (the resistance in these wires is supposed to be very low but it's not zero!). And if you have to much voltage drop on the wires the transistors don't get enough voltage to turn on/off.
So there you have it! That's the problem with overclocking. Voltage drop at the tracks (wires) because of increased current. You may also run into heat issues
Now, trying to answer your question, even at the same clock frequency a CPU that is processing stuff will use more energy than one that isn't "doing anything", because transistors aren't really changing state. But a CPU not doing anything at a lower clock frequency will waste less energy than another one not doing anything at a higher clock frequency, because energy is required to drive the clocking circuit itself. So it's very non-linear, you get the picture I hope
LarsPT said:
Now, trying to answer your question, even at the same clock frequency a CPU that is processing stuff will use more energy than one that isn't "doing anything", because transistors aren't really changing state. But a CPU not doing anything at a lower clock frequency will waste less energy than another one not doing anything at a higher clock frequency, because energy is required to drive the clocking circuit itself. So it's very non-linear, you get the picture I hope
Click to expand...
Click to collapse
This. This is the answer I was looking for. Thank you for the detailed explanation!
silentmelodies said:
This. This is the answer I was looking for. Thank you for the detailed explanation!
Click to expand...
Click to collapse
You're welcome!
Also, to complete the answer a bit more, lower voltage also helps with getting less energy consumption, because it takes more charge to "fill" a capacitor to, let's say, 1.3 V than to 1.1 V.
Hello all !
I was bored in school today so I've written a governor concept idea for quad cores. I'm not a dev AT ALL (for now at least, i'm studying many different stuff, hardware / code related too).
I have no idea if this is possible or if this is clever but I wanted to share it anway. If it gives idea to a developer, that's totally worth it, otherwise, well... I had fun doing it
It's called Progressive.
Progressive
The name of the governor says all. The idea behind it is to be «*progressive*». It means it doesn't unleash the full power when it's not needed. It goes progressively higher in freq with more cores. This should make the phone cooler and the battery better. The delay (3 sec ) is just a number, not sure this is really nice. Also, I'm not sure how the S4 handles temperature.
Max freq 1.5 Ghz
Min freq 384 Mhz
Screen off
=> 384-918 Mhz // not too low frequency to avoid reboot
Screen on without touching since 3 sec // always check after 3 seconds for changing the state
=> 384-1134 Mhz only one core online
Screen on touched
=> 594-1134 Mhz two cores online // bump the min_freq to avoid keyboard lag and to add a bit of butter
Screen on touched with a medium load of task // not sure how quantify this
=> 594 Mhz – 1.5Ghz two cores online
Screen on touched with a high load of task // i.e. Games
=> 702 Mhz – 1.5 Mhz four cores online // max power
We also need a thermal protection to avoid any damage, this should do the trick
If the temp is >= 80°C
=> Two cores online max_freq 1134 Mhz until it reaches 70 °C // not sure about the temp, this can be adjusted
If the temps is >=70°C
=> Let 4 cores being possibly online but lower the max_freq to 1134 Mhz
Click to expand...
Click to collapse
What do you guys think ? Is this even possible ? Good, bad idea ?
I hope you enjoy reading it as much as I enjoyed to writte it
doesn't it do this already?
Fissurez said:
doesn't it do this already?
Click to expand...
Click to collapse
I'm not sure how the ondemand governor on nexus 4 works. So I can't really answer, it's really a noob idea that poped into my head today
you pretty much described interactive with mpdecision enabled.
not exactly, but quite.
3 seconds is way too long for the CPU to ramp up (just a matter of tweaking, though). you'd get more lag than you save battery.
mpdecision ramps the cpu to its maximum frequency as soon as a touch input is detected (normally only 2 cores until a certain threshold is reached), so yours should save a bit of power during smaller workloads.
also, if the touch input is released, it clocks the active cores down to 1.02 GHz for a bit before disabling them when not needed.
after all, it seems like a more conservative interactive governor with active mpdecision. could be nice for saving battery while retaining good performance.
it could be a viable choice for those who go for battery life over performance. :good:
Nuu~ said:
you pretty much described interactive with mpdecision enabled.
not exactly, but quite.
3 seconds is way too long for the CPU to ramp up (just a matter of tweaking, though). you'd get more lag than you save battery.
mpdecision ramps the cpu to its maximum frequency as soon as a touch input is detected (normally only 2 cores until a certain threshold is reached), so yours should save a bit of power during smaller workloads.
also, if the touch input is released, it clocks the active cores down to 1.02 GHz for a bit before disabling them when not needed.
after all, it seems like a more conservative interactive governor with active mpdecision. could be nice for saving battery while retaining good performance
Click to expand...
Click to collapse
Thank you Sir, I understand better how mpdecision works now
Glad to see i'm not completely stupid lol
READ EVERYTHING BEFORE ATTEMPTING ALSO DO SO AT YOUR OWN RISK.
Required. you must have an oc and voltage support kernel. jfbs stock roms have both oc and voltage. cars1189 stock rom does not but he provides link to kernels that do. Dont use exuv or uv kernels while doing this. well you can but if your new to this it is recommended to use regular oc kernel without uv/exuv. Also ram size does not matter.
What else do you need:
an app that allows you to change clock speed and voltages. if you dont already have one get performance control here (i use this thanks to jfbs for finding it).
*NOTE* never ever leave phone unintended when doing this until you find your chips sweet spot. YOU HAVE BEEN WARNED. otherwise if you listen and follow my advice you wont cause any major harm to your phone or any harm to your phone. Also do NOT have the settings apply at boot until you find all your settings. keep a pen or pencil and paper ready so you can remember workings settings.
1. remove case (if you have one on your phone) and battery cover. (this is just a safety precaution should your power button not work to pull that battery.
2. open up your overclocking app. (in my case performance control). set min and max frequency/speed to 245mhz
3. go to voltage settings and change the current voltage for 245760khz (really 245mhz) which is stock 900mV to 875mV (decrease by 0.25). close app out swipe around home screen and apps draw. open and close contacts list and see if phone freezes. we are not worried about phone running slow at this point until you reach 1ghz+ point of this. IF phone freezes/locks up hold power button to reboot phone or just pull battery and put it back in (personally i just use power button). if phone doesnt not freeze lower voltage again by 0.025 which should be 850mV. continue this process until phone DOES freeze so make sure you you wrote down last working voltage and as soon as phone freezes reboot or pull battery.
4. Once you found the lowest working voltage for 245mhz up the min and max frequency (speed) to 368mhz (368640khz)
5. Do the same thing as step 3 which is decrease the voltage by 0.025mV for the frequency for 365mhz. and repeat for each frequency up to 1ghz. Once you get to doing 1ghz voltage and above. The testing phone phase will be different but still flow the decrease by 0.025mV. for testing use any 3d game not candy crush type. and let it run for at least 10mins actually playing with phone plugged into charger. when you reach the spot where the phone freezes unplug both charger and force reboot/pull battery.
6. Once you find all of your working voltages for each frequency then you can set min back to 245mhz and your max to which ever you was able to hit. then set all of your volt settings in and save it for set on boot.
Note. 1.2ghz-1.4ghz seems to be a very good and safe battery to performance ratio. even more so if you followed my directions properly.
EDIT:
My settings for comparison.
Frequency Range: min.256mhz max 1401mhz(1.4Ghz)
Voltage scale:
122880KHZ - 700mV
245760KHZ - 700mV
368640KHZ - 700mV
768000KHZ - 925mV
806400KHZ - 950mV
902400KHZ - 975mV
1017600KHZ - 1000mV
1113600KHZ - 1050mV
1209600KHZ - 1100mV
1305600KHZ - 1150mV
1401600KHZ - 1200mV
pretty awesome you guys are still squeezing the juice out of the exhibit. XD
teerout said:
pretty awesome you guys are still squeezing the juice out of the exhibit. XD
Click to expand...
Click to collapse
i just got this phone only a year ago... also the guide should work for any phone that has oc and voltage control support. but thanks
my new phone, motorola droid, is not as developer friendly as the samsung. i should have done more research before getting it. motorola and verizon have it pretty locked down, no flashing and awesomeness. getting root privileges was a 15 step process.....oh for the days of flashing with the exhibit...i still have a red case and a green flowery case if anyone wants them.
teerout said:
my new phone, motorola droid, is not as developer friendly as the samsung. i should have done more research before getting it. motorola and verizon have it pretty locked down, no flashing and awesomeness. getting root privileges was a 15 step process.....oh for the days of flashing with the exhibit...i still have a red case and a green flowery case if anyone wants them.
Click to expand...
Click to collapse
any electronic can be overclocked and under/over volt. Over voltage is fine if electronic requires a outlet to run e.g pc. game consoles. while undervolt is best for battery operated devices as you would want to have long operation time between charging xD.
Updated OP with my personal settings for this phone.
Thanks for the guide, Will be giving this a try this weekend... Well this and possibly flashing that new Mahdi Rom for the exhibit
Thanks!
TripFX said:
READ EVERYTHING BEFORE ATTEMPTING ALSO DO SO AT YOUR OWN RISK.
Required. you must have an oc and voltage support kernel. jfbs stock roms have both oc and voltage. cars1189 stock rom does not but he provides link to kernels that do. Dont use exuv or uv kernels while doing this. well you can but if your new to this it is recommended to use regular oc kernel without uv/exuv. Also ram size does not matter.
What else do you need:
an app that allows you to change clock speed and voltages. if you dont already have one get performance control here (i use this thanks to jfbs for finding it).
*NOTE* never ever leave phone unintended when doing this until you find your chips sweet spot. YOU HAVE BEEN WARNED. otherwise if you listen and follow my advice you wont cause any major harm to your phone or any harm to your phone. Also do NOT have the settings apply at boot until you find all your settings. keep a pen or pencil and paper ready so you can remember workings settings.
1. remove case (if you have one on your phone) and battery cover. (this is just a safety precaution should your power button not work to pull that battery.
2. open up your overclocking app. (in my case performance control). set min and max frequency/speed to 245mhz
3. go to voltage settings and change the current voltage for 245760khz (really 245mhz) which is stock 900mV to 875mV (decrease by 0.25). close app out swipe around home screen and apps draw. open and close contacts list and see if phone freezes. we are not worried about phone running slow at this point until you reach 1ghz+ point of this. IF phone freezes/locks up hold power button to reboot phone or just pull battery and put it back in (personally i just use power button). if phone doesnt not freeze lower voltage again by 0.025 which should be 850mV. continue this process until phone DOES freeze so make sure you you wrote down last working voltage and as soon as phone freezes reboot or pull battery.
4. Once you found the lowest working voltage for 245mhz up the min and max frequency (speed) to 368mhz (368640khz)
5. Do the same thing as step 3 which is decrease the voltage by 0.025mV for the frequency for 365mhz. and repeat for each frequency up to 1ghz. Once you get to doing 1ghz voltage and above. The testing phone phase will be different but still flow the decrease by 0.025mV. for testing use any 3d game not candy crush type. and let it run for at least 10mins actually playing with phone plugged into charger. when you reach the spot where the phone freezes unplug both charger and force reboot/pull battery.
6. Once you find all of your working voltages for each frequency then you can set min back to 245mhz and your max to which ever you was able to hit. then set all of your volt settings in and save it for set on boot.
Note. 1.2ghz-1.4ghz seems to be a very good and safe battery to performance ratio. even more so if you followed my directions properly.
EDIT:
My settings for comparison.
Frequency Range: min.256mhz max 1401mhz(1.4Ghz)
Voltage scale:
122880KHZ - 700mV
245760KHZ - 700mV
368640KHZ - 700mV
768000KHZ - 925mV
806400KHZ - 950mV
902400KHZ - 975mV
1017600KHZ - 1000mV
1113600KHZ - 1050mV
1209600KHZ - 1100mV
1305600KHZ - 1150mV
1401600KHZ - 1200mV
Click to expand...
Click to collapse
Thanks a lot man! I still have this phone, and i am trying to squeeze out as much juice as possible. Going to be switching to the Oneplus one soon, or the nexus 5!
help
Hello i have an exhibit ii 4g running mahdi 4.4.4 kitkat can i just download the performance app and follow this instrccions or do i need to flash a kernel to overlock my phone?
Andresakapaco04 said:
Hello i have an exhibit ii 4g running mahdi 4.4.4 kitkat can i just download the performance app and follow this instrccions or do i need to flash a kernel to overlock my phone?
Click to expand...
Click to collapse
all of jfbs roms are overclockable by defualt so just download performance app and follow instructions. be save and watch temps if your overclocking keep it below 35c is possible or if battery gets really warm.
TripFX said:
all of jfbs roms are overclockable by defualt so just download performance app and follow instructions. be save and watch temps if your overclocking keep it below 35c is possible or if battery gets really warm.
Click to expand...
Click to collapse
Thanks for this response one more question what are the benefits of overlocking my phonr aside from more batery lifee??? ... i wana give this a try so i can keep using my exhibit
Thanks!
This will be helpful when undervolting my parents' phones.
undervolting will give you the better battery life while keeping the same performance
overvolting will drain the battery faster
underclocking will drop performance and save more battery life then just undervolting
overclocking will give you better performance
When it comes to any mobile device it is recommended to undervolt and overclock as you want as much battery life as you can while getting a performance boost or just to undervolt to save battery only.
Desktops are made to handle heat and voltage a lot better thus most ppl will overvolt and overclock to get the fast possible performance as you are always connected to a main power source.
@TripFX, thank you for the comprehensive OC & UV guide. I've been tinkering with the voltage settings for about a week via Performance Control and I think I've found a good spot for both my Exhibit devices.
Here are my settings (using cars1189 Christopher K^Kernel uv vhm 9-9-2014 build)...
EDIT: Updated voltage & CPU settings.
CPU Frequency:
Max. 1401 Mhz
Min. 368 Mhz
Voltage Settings:
122880KHZ - 750 mV
245760KHZ - 750 mV
368640KHZ - 800 mV
768000KHZ - 925 mV
806400KHZ - 950 mV
902400KHZ - 975 mV
1024000KHZ - 1000 mV
1113600KHZ - 1025 mV
1209600KHZ - 1050 mV
1305600KHZ - 1075 mV
1401600KHZ - 1125 mV
Btw, 750 mv is the lowest 122880KHZ, 245769KHZ, and 368640KHZ can be set to using the kernel mentioned above. If anyone wants to go lower, you'll need to try a different kernel or one of jfbs ROMs. cars1189's uv kernels seems to do okay (every device is different though, so be careful) but I would strongly advise against using exuv (both my devices couldn't handle exuv).
Also, device temp. has decreased by a couple degrees overall, couldn't be happier!
jajb said:
Here are my settings (using cars1189 Christopher K^Kernel uv vhm 9-9-2014 build)...
EDIT: Updated voltage & CPU settings.
CPU Frequency:
Max. 1401 Mhz
Min. 368 Mhz
Voltage Settings:
122880KHZ - 750 mV
245760KHZ - 750 mV
368640KHZ - 800 mV
768000KHZ - 925 mV
806400KHZ - 950 mV
902400KHZ - 975 mV
1024000KHZ - 1000 mV
1113600KHZ - 1025 mV
1209600KHZ - 1050 mV
1305600KHZ - 1075 mV
1401600KHZ - 1125 mV
Click to expand...
Click to collapse
I almost copied your exact settings for my T679 and it's running nice (I've set min/max to 245 MHz/1209 MHz)
However I was curious as to what you've set for Governor and IO Scheduler; I've just left it on default: ondemand and row. Any other special settings or tweaks?
I ask because temp has definitely lowered, but battery life *I think* seems to drain a bit faster (though I do have a bunch of communication apps that probably sync throughout the day).
ZHXS said:
I almost copied your exact settings for my T679 and it's running nice (I've set min/max to 245 MHz/1209 MHz)
However I was curious as to what you've set for Governor and IO Scheduler; I've just left it on default: ondemand and row. Any other special settings or tweaks?
I ask because temp has definitely lowered, but battery life *I think* seems to drain a bit faster (though I do have a bunch of communication apps that probably sync throughout the day).
Click to expand...
Click to collapse
as far as more tweaks to boost performance. if all the apps you use is art compatible then i'd suggest switching to art. massive cpu difference between davlik and art. least from my own experience. as far as battery drain i would recommend using an app such as greenify. for gov's and sched. mine i left ondemand but sched put it on sio. however i recommend reading over this as it will help you get a much better idea of what would work best for you. everyone uses the their phone differently so it should technically vary from person to person.
Just a heads up to anyone undervolting. Be careful undervolting below 750mv. I noticed on my phone that the battery started overheating at 725mv and below. 750 and above was fine.