Related
Hey there,
I went through a lot of trouble to get my HTC Magic (32B) working really well,
just wanna share this for people who have issues with the phone's performance as well.
I've tried many things, including a swap partition (on a fast SD-Card) as well as compcache.
Turns out, disabling both did the trick. It FINALLY went from unusable to fast and enjoyable!
My current rom:
Cyanogenmod 6.1.0 RC1
Settings->Cyanogenmod-->Performance:
Compcache DISABLED
JIT Enabled (I noticed an increase in CPU Power with the linpack benchmark,
but it still seems underpowered at 3.3 mflops)
Dithering Disabled
Keep Home App in Cache Enabled
Keep MMS-App in Cache Enabled
VM Heap 16m
Also I am using SetCPU to overclock to 576mhz at the moment(feels like the battery is draining faster).
Another thing I did was to reduce number of Homescreens in ADWLauncher down to 3, since thats 'nuff for me.
Hope this helps someone out there, as I was about to shatter my phone into a million pieces :O
On a sidenote: How many mflops do you get with your Magic?
I have the same findings There was a point when swap, overclock, apps2SD, and compcache all would make a major speed-up on your phone, but the CM6.1RC and the nightlies that shortly preceded it have given me the best performance in my magic's history with all of it turned off.
My phone is configured very similar to yours. I went up to vm24 to smooth out how heavier applications run. I left JIT on despite the theoretical drawbacks because I notice no performance hit and it makes a difference on fractal rendering apps (I'm indifferent to benchmarks).
The CM forums seem to be in a bit of turmoil atm because people are slowing down their phones by applying mods that genuinely sped it up in the past.
But for the first time I can be widget-heavy, always go straight back to home, use window animations, never have choppy music (even when using navigation), use alternate keyboards with no performance hit, and even run a good few live wallpapers. All with unprecedented battery life? Not sure what CM did but he/they sure did it right.
One thing - overclocking your CPU will better your benchtest results but I think you'll surprise yourself by leaving it stock, and even (gasp!) underclocking it. CPU clockrate is one of many possible bottlenecks and considering the 1.5 and 1.6 official roms were capped at 384 (or 352 I can't remember), I doubt it is the culprit of possible slowdowns. I run at 384 almost all of the time and have noticed no side effect except for extreme battery life and added stability (615 gives me reboots). The only differences I've seen overclocking make are in fractal rendering apps and benchtests but Pandas vs. Ninjas and Raging Thunder rock at 384.
glad to see I'm not alone with this
I can still see the phone running out of ram when alot is going on, but its ok.
I'll try your suggestion and underclock the phone.
Another small tweak I just found:
under mobile network settings there is an option "only use 2G", which is checked by default. turning this off improved my connection speed (obviously).
but again this comes at the cost of battery-life.
I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.
I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.
At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.
Sooo...Some help and explanations would be more than appreciated.
4aces said:
I don't know if the answer to my question is somewhere hidden between the thousands of threats but I did try to find it before(including Google and YouTube) and would be more than happy to get a reply.
I'm using custom Kernels since the Note 2 but was never able to put more time and afford in to understand how they actually work and always used the default settings.
Now I'm trying to get some knowledge on Kernel settings and what is safe to change and what not. I'm very interested on how a Kernel works and how I can boost both battery life and/or performance as well as the basic knowledge of the Kernel settings.
At the moment I'm trying to explore with trickster mod to kinda learn by doing but I always get really bad results in testing or no big changes when I change the governor. Also I'm a little afraid in messing up my phone and therefor don't change the settings much. What I know is that the same Kernel can have different outcomes on different Note 3's so please do not post just your Kernel and settings without explanation cause I would like to find the most suited Kernel and settings for my Note.
Sooo...Some help and explanations would be more than appreciated.
Click to expand...
Click to collapse
I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.
A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.
There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.
These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.
People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)
CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://forum.xda-developers.com/showthread.php?t=1736168
I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://forum.xda-developers.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.
Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.
Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.
Any questions - click reply to this, or else I won't see it!
nicholaschum said:
I can give you a brief (easy) explanation with comparisons to try to get you to understand what a kernel is.
A kernel is your phone's driver (like a car) where it adjusts settings of the hardware and controls how each individual part interacts with each other.
There is a reason you take a car to get tuned up, and that is because a car can go berserk as there is no "maintaining force" - YOU or the person who tunes your car makes changes to the car to make sure it does not overheat, use less power per mile travelled, control how much windshield fluid is being released or how much torque force required to ensure the car does not snap XXXXXX when going at a speed of YYYYYY.
These options are beyond the manufacturer's decisions, and therefore when people flash a kernel you immediately trip KNOX (N9005). You can give your phone less power to process, more power to process (not recommended), speed up the CPU/limit the CPU, control governors on how the disk I/O (input/output) is being handled and/or control how much the phone will swap to it's virtual memory when it reaches no memory.
People think use a custom kernel! It saves you a ton of battery life!. This statement is partially wrong. You have to understand how a kernel reacts to your phone. Even though I know that lite kernels like Wootever's Custom N3 has the best battery life, this is because it has less tweaks and features that may boggle the user, and may allow for subsequent battery life extension compared to CivZ's SneakyKat or Imoseyon's LeanKernel. By inserting new tweaks into the kernel, you allow to have more "useful" features that may add to the "driver's knowledge" - Color tweaking, Fast charge over USB, CIFS support, all are extras that the kernel supports. To save power, developers remove the junk that the manufacturers added and added their own settings to make sure they get the result they would like, then they would share it to the public. However, people recommend custom kernels as they get more options when they flash it, as well as ridding of a lot of the stock settings that manufacturers love setting (default governors, lowest CPU frequency, etc)
CPU governors work by controlling how much speed is used at a given time, a good description of what each governor does is listed here: http://forum.xda-developers.com/showthread.php?t=1736168
I/O governors (simply speaking) control how files and requests are being handled by the system, a good description of what each governors is listed here: http://forum.xda-developers.com/showpost.php?p=23616564&postcount=4. Good way to understand this is if you learnt programming and you learnt the Stack/Queue ADTs in a programming language, it describes things better when looking at the descriptions in the link above.
Adjusting Synapse/Trickster would not get you anywhere to getting the best battery/best performance out of the phone. You will have to experiment and check which kernel is best with your phone, according to your SOC_PVS value. SOC_PVS value is how Qualcomm decides your processor's manufacturing "rank" and if you compare a low rank to a high rank, you will see that you can use less power to operate a high ranked chip compared to a low ranked counterpart. As most governors rely heavily on how the code is handled by the system, you should always go for the kernel that fits your system, and setting configurations depending on your system's likings. By following other people's configurations you risk sporadic reboots and incompatibilities, as not all phones are built the same way.
Things you should not touch if you are afraid of destroying your phone: Overvolting and Overclocking, as these may fry your device if you don't know what you are doing.
Any questions - click reply to this, or else I won't see it!
Click to expand...
Click to collapse
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!
4aces said:
First of all thank u very much for the detailed response. That was exactly what I was looking for. I will get back to you after going through the awesome links you were posting with some more knowledge
One thing which came straight in my mind was how do I know if I have a low or high rank from the soc_pvs_value and where do I find it?
Thanks again!
Click to expand...
Click to collapse
Anytime
You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:
Code:
/sys/devices/system/soc/soc0/soc_pvs
The higher your number, the better.
nicholaschum said:
Anytime
You can either install Synapse (If your Kernel supports it, and click on the button under CPU), or check here:
Code:
/sys/devices/system/soc/soc0/soc_pvs
The higher your number, the better.
Click to expand...
Click to collapse
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.
4aces said:
I ran out of "thanks" so u get it tomorrow. But thanks again. One more thing:
How do I know if I have a high number/between which numbers does the value wary? My soc_pvs is 3.
Click to expand...
Click to collapse
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
nicholaschum said:
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
Click to expand...
Click to collapse
Can't thank u enough!!! Now I will be off to some reading and testing
nicholaschum said:
You got a rather good number.
The lowest is 0, and the highest is 6. I have 2 but I don't undervolt so this is not an issue
Click to expand...
Click to collapse
Aaand one more question.
What is the difference in tcp congestion control (cubic/reno) and what does it change?
4aces said:
Aaand one more question.
What is the difference in tcp congestion control (cubic/reno) and what does it change?
Click to expand...
Click to collapse
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
nicholaschum said:
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
Click to expand...
Click to collapse
Just read the answer in the link u posted. Stupid me.
Sorry for taking up your time.
nicholaschum said:
That seems more of a Trickster Mod specific tweak.
It is more of a network speed tweak which you can read here: http://en.m.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
In simple words, you have to understand what Network Congestion is, and how queues affect how much data is being transmitted. When too much data is being carried in a link or a node, the quality of service would deteriorate. To do Congestion control, it affects how much data is being transmitted through each node systematically. This is rather complicated to explain using simple terms as this is a mathematical formula which processes how much data is being transmitted.
Cubic is used by many default linux kernels. Like CPU governors, these are data transmission governors, and it is best if you use the one better for your TCP/IP connection (Carrier or Wifi)
Click to expand...
Click to collapse
I have another question. If I want to oc or uv is there any script I have to use or can I just apply/test right away?
4aces said:
I have another question. If I want to oc or uv is there any script I have to use or can I just apply/test right away?
Click to expand...
Click to collapse
Just use the main interface of either Trickster or Synapse. I use Synapse personally as my kernel provides the best interface on Synapse.
nicholaschum said:
Just use the main interface of either Trickster or Synapse. I use Synapse personally as my kernel provides the best interface on Synapse.
Click to expand...
Click to collapse
What I found out so far is that the device runs smoother on performance based governors with cfq or sio scheduler. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with
But it seems that I'm still miles away from finding the best settings.
4aces said:
What I found out so far is that my device reacts not good on performance based governors & schedulers. The best results I had so far was on lean kernel and ael kernel. I'm using the last at the moment cause it has a lot of settings to play with
But it seems that I'm still miles away from finding the best settings.
Click to expand...
Click to collapse
I could give you some recommendations that would work well decently with 2-3 PVS valued processors.
Interactive Governor
No OC, No UV.
I/O schedulers Internal: cfq 512kb
I/O schedulers External: cfq 512kb
Dynamic Fsync Enabled
PowerSuspend driver enabled
Mdnie enabled, 0.39%
FastCharge Enabled
GPU Governor: Simple Ondemand 450MHz
I use CivZ's SneakyKat but Wootever's Custom N3 has the best battery life. If you want features you should play with CivZ's, if you like 6h screen on then you should play with Wootever.
You don't have to follow these values, but I spent days restarting my phone finding the best "average" configuration for devices ranging in my state. I found that Intellidemand didn't do so well and Interactive prevented any sporadic reboots that I got while on Intellidemand. Also read aheads of above 512kb doesn't show much speed enhancements. Synapse is great as it tells you whether your boot is successful or not, and now all my boots get Completed.
Notice: Do not soft reboot when configuring Kernels, Kernels don't get loaded properly/doesn't get reset properly so use Full reboot when configuring
cpu lock
I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks.
@nicholaschum any idea?
Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.
4aces said:
I tried gaming with different kernels and governors and encountered a strange issue. Especially in candy crush after playing for a while the cpu locks (sometimes on 14k sometimes 12k). Reboot fixes it but I'm still curious why it locks.
@nicholaschum any idea?
Btw. my favorite settings so far are intellidemand with deadline gr8 performance and battery life is OK.
Click to expand...
Click to collapse
That's a bit weird, did you have powersaving turned on? But I assume it's off.
I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
nicholaschum said:
That's a bit weird, did you have powersaving turned on? But I assume it's off.
I think you should disable your kernel mod application in Application Manager and test it out, if it's a problem with Synapse/Trickster then one setting is a bit problematic.
Click to expand...
Click to collapse
Nope that's why it's strange. Even got it after clean flash without setting/installing any Kernel related apps.
Tested other games and they work fine so I deleted candy crush and so far no cpu lock. No idea why, that's why I was curious
4aces said:
Nope that's why it's strange. Even got it after clean flash without setting/installing any Kernel related apps.
Tested other games and they work fine so I deleted candy crush and so far no cpu lock. No idea why, that's why I was curious
Click to expand...
Click to collapse
I don't play Candy Crush so I wouldn't know..haha
nicholaschum said:
I don't play Candy Crush so I wouldn't know..haha
Click to expand...
Click to collapse
Lol. Me neither from now on... (my kids will be sad though) Still can't really belive the game caused it
Hello,
Fairly new to the entire thing but I will get straight to it.
I have a SM-G935T Snapdragon in the USA, I am looking for a kernel for overclocking the device. At the moment what I have done is what I presume is a "lite" root custom on the stock 7.0 with supersu and Flashfire. I have tried using kernel adiutor and a few other apps that let you choose different settings but nothing seems to have any substantial effects on the benchmark scores.
As a note; the s7 edge is strictly dedicated to gaming purposes, I have debloated it and it has no SIM installed, it has a battery bank case and will spend most of its time plugged in or near a wall outlet, it is being treated as a mobile gaming platform. I have a Note3 specifically for taking with me as a phone.
With that said battery life is not a concerning factor I am looking for a decent overclocked kernel for the Snapdragon version, so far all I have seen is Exynos and stuff from other countries that don't match my 935t.
I'm likely overlooking something but any help would 've appreciated, doing it manually doesn't super interest me, I'm looking for a flash and go solution for this model that isn't going to trip app security searches.
Thanks!
RegalPaw said:
Hello,
Fairly new to the entire thing but I will get straight to it.
I have a SM-G935T Snapdragon in the USA, I am looking for a kernel for overclocking the device. At the moment what I have done is what I presume is a "lite" root custom on the stock 7.0 with supersu and Flashfire. I have tried using kernel adiutor and a few other apps that let you choose different settings but nothing seems to have any substantial effects on the benchmark scores.
As a note; the s7 edge is strictly dedicated to gaming purposes, I have debloated it and it has no SIM installed, it has a battery bank case and will spend most of its time plugged in or near a wall outlet, it is being treated as a mobile gaming platform. I have a Note3 specifically for taking with me as a phone.
With that said battery life is not a concerning factor I am looking for a decent overclocked kernel for the Snapdragon version, so far all I have seen is Exynos and stuff from other countries that don't match my 935t.
I'm likely overlooking something but any help would 've appreciated, doing it manually doesn't super interest me, I'm looking for a flash and go solution for this model that isn't going to trip app security searches.
Thanks!
Click to expand...
Click to collapse
I'm just going to preface things by saying benchmarks are not indicative of actual improved performance. There are numerous ways in which manufacturers can cheat benchmarks such that when you overclock you may not see improvements.
I'd suggest actually finding out if you overclocks through kernel auditor are actually working, download and run this to check if the cpu frequency maxes out at the one you set.
If the overclock is working as intended then the benchmarks are just not showing it due to other factors. More likely is that the overclock is not supported on your stock kernel so you'll need to flash a custom one with overclocking enabled,
randomhkkid said:
snip because it won't let me post links even in quotes yet
Click to expand...
Click to collapse
I appreciate the reply, the issue is that none of the apps will actually go beyond the big cores 2.1ghz and the smalls 1.6ghz. My only options that I do have are basically enabling "performance" but the cores will still throttle even when Temps are 30c. What I'm saying is I have found nothing that has given me the freedom to actually attempt over clocking at all anyway and nothing will peak the cores as they say they should, even with supersu granted.
Hopefully that makes sense.
I took a screenshot of monitoring during a benchmark, so what's interesting is sometimes I get a 3D Mark Slingshot Extreme score of 2700ish and other times, more often than not, I get 1600 and looking at the graph, the cpu is up and down and all over the place like a bouncy castle in a birthday party but it's barely going over 1.2ghz on any core even during the cpu test and there is a massively noticeable difference even in benchmark and games. I have to restart the phome, wait for several minutes, clear the ram, wait a little more and then I might get a couple of good scores but I'm thrown right back into the bouncy castle throttling. I have a screenshot but I can't post it because I can't give links with less than 10 posts.
I've tried kernel editors, they don't stick anything and read false speeds, and the integrated performance mode seems to do nothing but make it brighter and change the resolution to 1440p.
RegalPaw said:
I appreciate the reply, the issue is that none of the apps will actually go beyond the big cores 2.1ghz and the smalls 1.6ghz. My only options that I do have are basically enabling "performance" but the cores will still throttle even when Temps are 30c. What I'm saying is I have found nothing that has given me the freedom to actually attempt over clocking at all anyway and nothing will peak the cores as they say they should, even with supersu granted.
Hopefully that makes sense.
I took a screenshot of monitoring during a benchmark, so what's interesting is sometimes I get a 3D Mark Slingshot Extreme score of 2700ish and other times, more often than not, I get 1600 and looking at the graph, the cpu is up and down and all over the place like a bouncy castle in a birthday party but it's barely going over 1.2ghz on any core even during the cpu test and there is a massively noticeable difference even in benchmark and games. I have to restart the phome, wait for several minutes, clear the ram, wait a little more and then I might get a couple of good scores but I'm thrown right back into the bouncy castle throttling. I have a screenshot but I can't post it because I can't give links with less than 10 posts.
I've tried kernel editors, they don't stick anything and read false speeds, and the integrated performance mode seems to do nothing but make it brighter and change the resolution to 1440p.
Click to expand...
Click to collapse
Sounds like you'll need a custom kernel. Unfortunately I'm not actually aware of any on the S7 Edge Snapdragon.
randomhkkid said:
Sounds like you'll need a custom kernel. Unfortunately I'm not actually aware of any on the S7 Edge Snapdragon.
Click to expand...
Click to collapse
Thumbs up for trying, if anyone knows of a kernel I can flash I'd happily accept it, even if it's as simple as keeping the cpu from dropping all over the place.
RegalPaw said:
Thumbs up for trying, if anyone knows of a kernel I can flash I'd happily accept it, even if it's as simple as keeping the cpu from dropping all over the place.
Click to expand...
Click to collapse
I may be able to help with the latter. If you are able to flash xposed and install the Wanam Xposed toolkit you can disable DVFS controls, this should help with the throttling.
This applies for overclocking when playing games only.
There's an app made by Samsung itself called 'Game Tuner'. I've checked that when i run an app through game tuner the average cpu frequency is much higher than when i run it without game tuner. Also the device get noticably warmer with game tuner. So in my knowledge this is the only way you can overclock your s7 edge without rooting
Hello XDA members,
I have looked around on the internet and XDA and I couldn't find a satisfactory answer to my question so here I am.
1. What is the function of Kernel?
2. What is the advantage of custom kernel over stock?
3. Is Kernel something that I just install and forget? or do I have to make edits. If edits then what sorts?
I am using latest TWRP, Pixel Exp with magisk. About to try the xposed beta. Thought get more in depth to get max out of my device.
Thank you all in advance.
1. A kernel is the "core" of the OS, a piece of code that acts as a mediator between the hardware and software in your phone. It decides how your apps can use the hardware, it manages your CPU's and GPU's clock speeds (lowering them in low usage and raising for resource - intensive apps) and manages the voltages your components operate on. It also reserves RAM space for apps, decides on which CPU cores an app will run, etc. Everything you do, all input sensors, everything your apps do, and all your phone's output information goes through the kernel.
2. Custom kernels are customised kernels, tweaked to the liking of whoever created them. The benefit of custom kernels is that they are usually better optimised, they handle and distribute your phone's resources better than the stock kernel, which can give you better battery life and performance. It can also be changed to allow overclocking, meaning higher CPU or GPU clock speeds. Paranoid Android roms use a kernel that is extremely well-optimised for Qualcomm's chipsets, probably the best kernel for our device.
3. As for edits, some kernels are made to be better optimised for your device, providing a performance/battery life improvements out-of-the-box. Most kernels come with an app, giving the user control over how their kernel behaves by allowing manual tweaks, where you can raise/lower CPU and GPU clock speeds yourself. They also add some functions, things you couldn't change on a stock kernel, and some add extra CPU governors to choose from. Governors are behaviour models for your phone's CPU, they define how your CPU acts, how fast it raises clock speed under load, and how fast it lowers it back when high processing power is no longer needed. For example "performance" governor will always keep all cores at a maximum clock speed (which draws loads of energy), while "powersave" will reduce clock speeds to a minimum. Custom kernels usually add custom made governors that aim for performance, battery life, or balance of the two.
There are many more tweaks to the kernel, like memory-management, which tells the kernel when to kill bacground apps, and how many apps can remain open in background (in RAM) before getting killed.
As for if you need to change stuff in the kernel, most of the time they come preset to the values the kernel creator thinks is best, so probably no, but you sure can benefit from researching the tweaks and creating custom profiles if you need to squeeze maximum battery life from your phone when your battery is almost dead, or you want to play some intensive games and need every bit of power your phone can give you.
In my opinion, Moto G5 plus has a pretty decently tweaked kernel, but since it heats up very little and has great battery life it has some overclocking potential. It should probably be able to handle a boost to 2.2GHz like on Snapdragon 626, which seems exactly the same as 625 just with a higher clock speed.
bazinga137 said:
1. A kernel is the "core" of the OS, a piece of code that acts as a mediator between the hardware and software in your phone. It decides how your apps can use the hardware, it manages your CPU's and GPU's clock speeds (lowering them in low usage and raising for resource - intensive apps) and manages the voltages your components operate on. It also reserves RAM space for apps, decides on which CPU cores an app will run, etc. Everything you do, all input sensors, everything your apps do, and all your phone's output information goes through the kernel.
2. Custom kernels are customised kernels, tweaked to the liking of whoever created them. The benefit of custom kernels is that they are usually better optimised, they handle and distribute your phone's resources better than the stock kernel, which can give you better battery life and performance. It can also be changed to allow overclocking, meaning higher CPU or GPU clock speeds. Paranoid Android roms use a kernel that is extremely well-optimised for Qualcomm's chipsets, probably the best kernel for our device.
3. As for edits, some kernels are made to be better optimised for your device, providing a performance/battery life improvements out-of-the-box. Most kernels come with an app, giving the user control over how their kernel behaves by allowing manual tweaks, where you can raise/lower CPU and GPU clock speeds yourself. They also add some functions, things you couldn't change on a stock kernel, and some add extra CPU governors to choose from. Governors are behaviour models for your phone's CPU, they define how your CPU acts, how fast it raises clock speed under load, and how fast it lowers it back when high processing power is no longer needed. For example "performance" governor will always keep all cores at a maximum clock speed (which draws loads of energy), while "powersave" will reduce clock speeds to a minimum. Custom kernels usually add custom made governors that aim for performance, battery life, or balance of the two.
There are many more tweaks to the kernel, like memory-management, which tells the kernel when to kill bacground apps, and how many apps can remain open in background (in RAM) before getting killed.
As for if you need to change stuff in the kernel, most of the time they come preset to the values the kernel creator thinks is best, so probably no, but you sure can benefit from researching the tweaks and creating custom profiles if you need to squeeze maximum battery life from your phone when your battery is almost dead, or you want to play some intensive games and need every bit of power your phone can give you.
In my opinion, Moto G5 plus has a pretty decently tweaked kernel, but since it heats up very little and has great battery life it has some overclocking potential. It should probably be able to handle a boost to 2.2GHz like on Snapdragon 626, which seems exactly the same as 625 just with a higher clock speed.
Click to expand...
Click to collapse
Wow.
Thanks for such a detailed reply.
I will download alize and see where it takes me
Thanks again.
Just wondering if this is common or not, mainly PUBG runs sluggish even on the lowest graphics setting.
Isopropil said:
Just wondering if this is common or not, mainly PUBG runs sluggish even on the lowest graphics setting.
Click to expand...
Click to collapse
maybe because of the 2k?
I also tried pubg and yes, it's too damn laggy. lowering the resolution to 720p didn't help much. i guess i have to see how it runs on another device to be sure it's not a crappy app (Even though it looks like it)
I though the same thing, wish there was a easy way of lowering like on Samsung roms.
Isopropil said:
I though the same thing, wish there was a easy way of lowering like on Samsung roms.
Click to expand...
Click to collapse
if you're willing to use the navbar (or mipop if you're on stock), it's as simple as making a couple of shell scripts that change density and resolution, then adding widgets for them. Since probably nobody is looking at the capacitive buttons bug this will probably be the only way to do it
The main problem for gpu intensive games is that they start to lag more the longer u play. Its because (at least on stock roms) the kernel throttles the cpu and gpu way too aggressively at a certain temperature. Same happens to hearthstone.
At beginning i can play a few rounds with 40-60fps, but after some time the kernel throttles the cpu and gpu down by alot even though the device itself only just got a bit warm. Main issue is throttling happens way too soon by way too much. And well some games are not well optimized and dont clear graphic cache often enough. Hearthstone for example has this issue, even if device is cooled, the game drops fps (not as much as with throttling tho) if too many graphical stuff loaded into the graphical ram over time (at least thats how i think it is)
Sent from my ZTE A2017G running V1.2.0B08 using XDA Labs
GodOfPsychos said:
. And well some games are not well optimized and dont clear graphic cache often enough. Hearthstone for example has this issue, even if device is cooled, the game drops fps (not as much as with throttling tho) if too many graphical stuff loaded into the graphical ram over time (at least thats how i think it is)
Click to expand...
Click to collapse
I play PUBG on stock ROM after basically disabling CPU GPU thermal throttling and adjusting the governors to use the full frequency range accordingly. Having a fan of any sort, even a small usb powered one blowing air on the back up to a meter will keep the battery under around 50degC. The aluminum unibody cools effectively and efficiently with the help of a fan. I use a Tasker task to change the CPU limits and other optimizations before playing.
After eliminating the processor bottleneck the game can run on high settings smoothly. However the game uses 1GB of RAM on high settings that I've tested and the device lags under around 500Mb of free RAM on stock's OOM configuration. So free RAM needs to be able to reach at least 1.5Gb to not cause slow downs. Having already debloated and using greenify with and root commands to disable background user processes, I can play without RAM being an issue. I monitor free RAM and other hardware in real time to check these function without issue.
Having now removed both those bottlenecks I found there's still some lag that can develop after the phone has been playing for a few games or after standby overnight uptime. I've only just started testing changes to Virtual Memory thinking it might be a delay caused there. But the post quote above gave me the thought it could be GPU video memory related. Anyone know where to check in the kernel for how much RAM is reserved for GPU on the Axon 7?
I also gave the resolution lowering trick a little try and that didn't seem to improve performance at all. I'm still on B32.
Sent from my ZTE Axon 7 using XDA Labs
Mind explaining how to get rid of the CPU/GPU throttle? I just haven't bothered with those kind of things since my Galaxy Nexus days ;_;
Isopropil said:
Mind explaining how to get rid of the CPU/GPU throttle? I just haven't bothered with those kind of things since my Galaxy Nexus days ;_;
Click to expand...
Click to collapse
The background I posted ages ago is here https://forum.xda-developers.com/axon-7/how-to/stock-cpu-gpu-throttling-performance-t3716060
That way doesn't fully disable throttling and just enables a different higher one. I could update the thread if people are interested
Sent from my ZTE Axon 7 using XDA Labs
Infy_AsiX said:
The background I posted ages ago is here https://forum.xda-developers.com/axon-7/how-to/stock-cpu-gpu-throttling-performance-t3716060
That doesn't fully disable throttling and just enables a different higher one. I could update the thread if people are interested.
Click to expand...
Click to collapse
Tbh thats quite an interesting thread for ppl that have either heating issues and want to lower voltages and edit throttling levels or for ppl that would like to have a more consistent performance when gaming. As you mentioned in that thread, i too renamed the 2 thermal config files with .bak at the end. Will test later to see the results.
But i think you could maybe update the thread with a guide for like:
-ppl that want to preserve battery life
-ppl that want to get more consistent performance
-and ppl that want to have a good mix between performance and battery life.
Also in that thread you mentioned disabling vdd restriction (like through kernel adiutor i guess). Is this necessary to really see the full effect of renaming the thermal engine files to .bak? I ask because i saw that inside the thermal engine files, there are also entries for vdd monitoring. So in the end would disabling vdd restriction actually do something? (Since the values from thermal engine files won't be applied at boot anymore after renaming them)
Sent from my ZTE A2017G running V1.2.0B08 using XDA Labs
I get some lag even in Angry Birds 2, never had this on my Sony Xperia XZ Premium. The reason is due to throttling from over heating.
The phone does indeed get hot after some heavy gaming and this is when throttling starts and causing some lag.
GodOfPsychos said:
Tbh thats quite an interesting thread for ppl that have either heating issues and want to lower voltages and edit throttling levels or for ppl that would like to have a more consistent performance when gaming. As you mentioned in that thread, i too renamed the 2 thermal config files with .bak at the end. Will test later to see the results.
But i think you could maybe update the thread with a guide for like:
-ppl that want to preserve battery life
-ppl that want to get more consistent performance
-and ppl that want to have a good mix between performance and battery life.
Also in that thread you mentioned disabling vdd restriction (like through kernel adiutor i guess). Is this necessary to really see the full effect of renaming the thermal engine files to .bak? I ask because i saw that inside the thermal engine files, there are also entries for vdd monitoring. So in the end would disabling vdd restriction actually do something? (Since the values from thermal engine files won't be applied at boot anymore after renaming them)
Click to expand...
Click to collapse
That's some useful suggestions. For each point
- I've already shared that function. Just modify to a lower voltage you prefer. In terms of using it in combo with throttling disabled, that can be more advanced.
- Consistent like powerful? Need to tweak values in the file for full performance. Personally I've edited several profiles of various CPU GPU configs to range from light games to heavy executable from Tasker.
- Really a matter of preference. There isn't really a perfect middle ground. That's why vendors are offering power mode switches for normal use and gaming. Problem there is ZTE's is shipped broken and others still have decided limits. Which as my previous point, I use a basic profile for normal use and switch to suit based on the gaming demand. The method in that thread alone is inefficient as it's moderately powerful but isn't power saving for example.
Yeah I meant in a kernel configuration app like Adiutor. It's rather confusing but IIRC switching on VDD is it's own set of restriction different than unmodified. Removing the files by renaming .bak falls back to some hidden profile as described in that thread. Now I just edit the file for no limits instead and use Tasker to change parameters when needed.
I may post a guide. But I'm not sure how much interest or benefit there is. Hardcore tweakers aren't on stock, it's probably only a small group that prefer stock for particular reasons and are still advanced tweakers. One factor against AOSP though is I've heard repeatedly in the past the GPU driver gaming performance is lacking, don't know if that has changed. I'm all for helping out though, just unsure about useless effort. I welcome questions to get anything working and it's more direct than writing up a whole guide.
Sent from my ZTE Axon 7 using XDA Labs
Infy_AsiX said:
That's some useful suggestions. For each point
- I've already shared that function. Just modify to a lower voltage you prefer. In terms of using it in combo with throttling disabled, that can be more advanced.
- Consistent like powerful? Need to tweak values in the file for full performance. Personally I've edited several profiles of various CPU GPU configs to range from light games to heavy executable from Tasker.
- Really a matter of preference. There isn't really a perfect middle ground. That's why vendors are offering power mode switches for normal use and gaming. Problem there is ZTE's is shipped broken and others still have decided limits. Which as my previous point, I use a basic profile for normal use and switch to suit based on the gaming demand. The method in that thread alone is inefficient as it's moderately powerful but isn't power saving for example.
Yeah I meant in a kernel configuration app like Adiutor. It's rather confusing but IIRC switching on VDD is it's own set of restriction different than unmodified. Removing the files by renaming .bak falls back to some hidden profile as described in that thread. Now I just edit the file for no limits instead and use Tasker to change parameters when needed.
I may post a guide. But I'm not sure how much interest or benefit there is. Hardcore tweakers aren't on stock, it's probably only a small group that prefer stock for particular reasons and are still advanced tweakers. One factor against AOSP though is I've heard repeatedly in the past the GPU driver gaming performance is lacking, don't know if that has changed. I'm all for helping out though, just unsure about useless effort. I welcome questions to get anything working and it's more direct than writing up a whole guide.
Click to expand...
Click to collapse
Well a guide might be useful for many users. Maybe also what your setup in tasker is.
Personally im usually not that into graphic intensive mobile games (except for like shadowgun legends, cool game imo).
I mean i play games while watching youtube or any series sometimes. But its still annoying when games start to lag after like 10 minutes already.
I also play hearthstone alot on my axon 7 since i used to play it alot on my laptop (sadly the game lags way too much now on my laptop due to weak hardware, hence why i play it on mobile now).
About the consistent performance i mentioned earlier, yes i meant as in powerful which keeps the performance without dropping down.
Sadly the performance governor isnt a big help since the aggressive throttling is still active, which makes the governor quite useless if it cant keep up the cpu clock at max.
Anyway, from what i noticed after renaming the 2 thermal files, shadowgun legends for example runs better for a longer period of time than before (it takes longer before the game starts to drop frames significantly)
Sent from my ZTE A2017G running V1.2.0B08 using XDA Labs
With most GPU intensive apps and games like PUBG and Daydream View, I have to disable the Night Light. It provides a noticeable difference in performance.
@ Isopropil,
Hi,
Would you like to post your screenshot here? I experience the same problem and we probably help each other. My phone is A2017U, what about yours?
Thanks in advanceļ¼
Hope to hear you soon!