Hi guys
I have had a Kindle since Xmas (actually 3, first 2 had hardware problems), rooted it the day I got it and hacked it every which way.
Interestingly I have noticed very little reference to graphic slowdown on the device (on these forums and on google searches) when pertaining to effects on the device.
Every time I install either a new ROM (CM7) or a rooted stock with a third party launcher (Go Launcher and ADW launcher) the interface is initially smooth and responsive. After a little time though it gets jerky and laggy when navigating the desktop and apps (mostly transitions IE zoom, scrolling etc). I should note that I am extremely sensitive to FPS slowdown, I can see frame rate drops when others usually can't.
Keeping this story short (and without going into all the details trying to troubleshoot the issue such as cache purges, background app termination etc) I isolated the problem to the CPU Governor. I tried doing some research on the hotplug governor but no one has published information on this particular governor, even though it is included with CM7.
I have enabled it, and it seems very similar to the default ondemand governor but I am guessing the polling interval for CPU scaling is faster. It scales down to 300Mhz and up to 1GHZ when under load (tested using Antutu CPU master Free available on the Android Market). Because of the (hypothetical) polling it may drain battery faster but that is something I am willing to sacrifice for a smooth interface experience.
Seems to have solved this annoying problem so I thought I would share for anyone else that may be bothered by this!
I am glad CM7 allows you to set the governor though its settings, a stock Kindle unrooted would give the user no control over this
I have used both ADW & Go Launcher and had experienced this issue with Go that I had not noticed when I used ADW. Anyhow after enabling the UI homescreen tweak in Auto-killer launcher performance seems to have greatly approved. After reading the above post I installed No-frills and changed the Governor to Hotplug and selected Noop as the IO Scheduler I am also noticing an improvement.
I Recommend the Use of Go Launcher EX or Launcher Pro
They are really fast and could be modified alot to work with your customizations
Related
Hi Folks,
For those who are interested, I have modified the 90screenstate_scaling script used in Zach's (and now Glitch's) kernel for use with other CM7 compatible kernels. The aim is to create a very simple script that can easily be read, modified and improved upon by non-coders, such as myself.
I have retained only the code that will read the screen state, set the governor appropriately and set the scaling threshold, giving users complete control over the scheduling behavior of their CM compatible kernel.
I am not a coder and all credit goes to FloHimself and zacharius.maladroit for the original content. all I have done is (hopefully) simplify the script and make it easy for non-specialists to read.
If you would like to try it out, copy the script in to /system/etc/init.d and modify the values to your liking. If you are already on Zach's kernel there is nothing new here, as you already have this script.
The script currently includes kernel defaults from Glitch for the smartass governor, from Zach for the conservative and ondemand governors, a few experimental settings, and of course, the ability to modify them yourself.
If you add anything or make any modifications (particularly in relation to your specific usage pattern) you would like to share, please post them and I will update this thread. If you make modifications, comment them appropriately and explain your usage pattern for which the settings work best so that people know if it would work for them.
The experimental conservative settings that I have made (that are currently in use on Glitch kernel) for the screen off state are designed to aggressively keep the frequency very low, almost like a 100mhz frequency cap, while still allowing them to scale up under considerable load. They are (hopefully) ideal for background screen off behaviour such as listening to music, exercise applications or aggressive sync and push/pull email behavior (like in an office).
The experimental smartass settings are designed to test the hypothesis that quick downscaling may cause as many lags as as slow scaling up behavior. The goal is to create a more linearly scaling version of smartass which is slower to upscale or downscale (only a matter of milliseconds difference). These are still under testing.
With one of the main reasons for using smartass as a single governor, the min/max frequencies for the screen on/off state no longer applicable with the governor changing in relation to the screen state, I have moved to ondemand settings, which may have battery implication while the screen is on, but they are VERY smooth.
*subscribes*
we could probably make conservative governor more aggressive
with the settings that laststufo used on his kernel but I'm not sure if it would scaled up fast enough if you used e.g. some DSP settings on sound while the screen is off
worth as shot
if I don't forget it - I'll post the settings later
Subscribes too
I like the idea and the simplicity of this. And with Zach's help, also known as "F*ckin scripts master" (almost a private joke ), it can only be great.
I'm a big fan of simple, though as a user of Arch Linux on the desktop I have no choice (BSD style init scripts a boot - beautiful simplicity)!
It's great you lads are watching this! Hopefully the thread will grow in to something, even if it is just an sandbox for users to experiment with the settings they prefer. If nothing else, hopefully you guys get some useful info!
I just added a bit of an experimental version that moves away from the default smartass values.
I am hypothesizing that the very accasional lags in the smartass governor might be related to the governor scaling down too fast, rather than it not scaling up fast enough.
I changed the default down threshold from 40 to 35 and the default up threshold from 60 to 65. Hopefully this will scale up and down a little more linearly and this will make the GUI even smoother. I am still testing this theory at the moment, but thought I might post it (on the first post) if anyone wanted to have a go.
well.heeled.man,
you need to test your conservative settings while the screen is on
they're way too aggressive (at least the up threshold, down threshold may be ok)
also the freq_step at 10% should be at least at 15%
if we compare it with laststufo's kernel (he almost had 100 MHz steps everywhere: 100, 200, 400, 600, 800, 900, 1000 MHz)
so that needs to be compensated to get smoother & similar behavior
I'll take a look & see how the new smartass settings work out
my new conservative settings are:
echo "76" > /sys/devices/system/cpu/cpufreq/conservative/up_threshold # 50 # 76 # 76
echo "30" > /sys/devices/system/cpu/cpufreq/conservative/down_threshold # 35 # 12 # 30 (higher will lead to noticable lags) # 35
echo "15" > /sys/devices/system/cpu/cpufreq/conservative/freq_step # more aggressive ramping up (50)
this currently keeps the cpu between 100-200 MHz while playing MP3s for me (screen off) - mostly 200 afaik right now
but I'll try your conservative settings, too, when I find time - let's see how they are in terms of "smoothness" (I'm sure they're not too usable with the GUI but could be great for background tasks while the screen is off)
Hi Zach, indeed, I would say that the conservative settings are completely unusable with the screen on. I would not recommend these with the screen on.
However, with music (DSP manager too) GPS and Cardio Trainer all running (my cycle home), it seems to work fine (screen off). Every km, Cardio trainer speaks the time taken over the music (two audio streams). With many kernels this becomes slow, or slurred, but sounds perfect with these settings.
well.heeled.man said:
Hi Zach, indeed, I would say that the conservative settings are completely unusable with the screen on. I would not recommend these with the screen on.
However, with music (DSP manager too) GPS and Cardio Trainer all running (my cycle home), it seems to work fine (screen off). Every km, Cardio trainer speaks the time taken over the music (two audio streams). With many kernels this becomes slow, or slurred, but sounds perfect with these settings.
Click to expand...
Click to collapse
awesome !
so it still raises the frequency when needed ?
100 -> 200 (or more)
you checked via e.g. CPU Spy ?
thanks !
Yes, it still goes up when needed (confirmed via CPU Spy), but it needs to be really pushed. It seems like good behaviour in the screen off state.
EDIT: something in the region of a 66%/33% 100/200mhz split at these settings.
I am struggling to confirm that my settings are being applied as I would like in the screen off state. I can read off the values in /sys/devices/system/cpu(/cpu0)/cpufreq/conservative if I manually set conservative in Pimp My CPU with the screen on, but the behaviour seems at odds with the values i.e. not as laggy as one would suspect.
As (a variation of) this script are now used in Glitch's too, I have changed the comments to allow people to very easily see which settings are from kernel devs (which should probably be left alone should you wish to return to their defaults) and experimental settings (which I would suggest you change, if you change any). If you want to use parts of it in Zach's, I would suggest cutting and pasting the experimental part into the appropriate part of Zach's script as overwriting any part of it would remove much of his additional functionality.
This is great guys - thanks for this
With one of the main reasons for using smartass as a single governor, the min/max frequencies for the screen on/off state, no longer applicable with the governor changing in relation to the screen state, I have moved to ondemand settings by default. This may have battery implication while the screen is on, but they are VERY smooth.
wrong spot
screenstate_scaling_V49.zip
that's the current version of my screenstate_scaling script that I offer as an option with Neo 17 r7
most of the stuff moved into the S98system_tweak script that now is shipped with the kernel
As much as I wanted to like Amazon's Silk browser, after trying Opera it simply won me over with the text wrap feature. However, one thing that really irks me about it is that Android's task killer automatically kills it practically whenever I do something else, which means Opera has to restart every time I simply switch apps temporarily. This gets to be quite frustrating and this problem never happened with Amazon's browser. I got to doing a little research and came across two different apps, Auto Memory Manager and AutoKiller Memory Optimizer--both essentially do the same thing. In those apps there was a section for setting priorities of all the tasks and services, and it was exactly what I was looking for, however whenever I changed the settings, they would revert back to default basically right away. By the way, Amazon's browser is given an OOM priority of 4 and Opera is given the priority of 9. I would simply like to increase Opera's priority to the same as Amazon's browser, and I wouldn't mind messing around with some of the other settings as well.
I should also mention that I have my Android's task killing settings completely default, so it's not killing it from being aggressive or anything. And super user access was granted to the apps.
I'm just wondering if there are any apps that will actually work for doing this same exact thing for the Kindle Fire, or if I can manually change it somehow. Thanks for taking the time to read this and for any help in advance!
task killers did a helluva job in Cupcake.
but since froyo they only serve one purpose and that is no purpose.
Let android do its thing,
task killers are like having freddy and osama and pol pot over for a weekend. Just not a happy time.
Sent from my Amazon Kindle Fire
I'm not using a task killer. Everything is default like I said. In fact I want to do the complete opposite and have Opera not be killed constantly by Android task killer, similar to how the Amazon Browser is... I want Opera to be a higher priority background application than it currently is so that I don't have to completely restart it every time I open it. Amazon's stays running in the background unless I have too many other things running, Opera is one of the first things to be killed off and I'd prefer to have it's priority set to the same as Amazon's browser.
aaron1006 said:
I'm not using a task killer. Everything is default like I said. In fact I want to do the complete opposite and have Opera not be killed constantly by Android task killer, similar to how the Amazon Browser is... I want Opera to be a higher priority background application than it currently is so that I don't have to completely restart it every time I open it. Amazon's stays running in the background unless I have too many other things running, Opera is one of the first things to be killed off and I'd prefer to have it's priority set to the same as Amazon's browser.
Click to expand...
Click to collapse
My apologies. Reading comp #fail
Try this http://www.addictivetips.com/mobile...dly-app-manager-system-optimizer-for-android/
or Optimizer, or theres a few apps out there that you can tell them to "keep android away from my Opera" and Opera will run along.
I am using Auto-Killer and it looks like what it does is allow you to lower the priority of an app so that Android will keep it in memory longer. Thing is that eventually the app does get killed and resets at its original value. Am finding that Auto-Killer works wonders on the Kindle. Some of the advanced system Tweaks help with launcher responsiveness, especially with just a bit more free Ram. I have also used No-frills CPU from the Market and changed the I/O Scheduler to Noop and the Governor to Hotplug which is basically a duel core version of Interactive from what I understand. Anyhow that, a little extra Ram, and the additional Home screen, Partitions, Memory management, Network and Wi-Fi Tweak in Auto-killer and there is a huge difference in overall performance. Am also scoring about 500 more Quadrent points on average. If you put much stock in Quadrant.
This has happened to me maybe two or three times now, but I want to just focus on this time it's happening right now:
I installed the Villain kernel on 3.2.1 stock rooted rom, overclocked to 1.504GHz. Initially, the scrolling in landscape was as smooth as butter, but over the past few days it's become slightly choppy, and it's really bothering me, because I know I might have done something to mess this up. My question is, how do I fix this and make it so it has unbelieveably smooth scrolling again (just like when you pull it out of the box)? I think it's one of any number of things, really. It could be that I'm using cachemate, system panel pro, that I've used autostarts to stop a ton of applications from running at start up.
I just removed all of my game icons from the 2nd page (I only have two pages) and the scrolling didn't speed up, so it's not that.
Is there a a system app that relates to the scrolling that I might have disabled because it had a name that maybe I thought I could disable in autostarts?
Thanks for any help!
Stopping apps from autostart does not guarantee a performance improvement. This is not Windows and unused RAM is lost RAM. You're using more CPU power to kill constantly autostarting apps and services thus you're draining your battery faster. If a program resides in memory it still doesn't mean it does something. As an example, there were ROMs for HD2 that were developed to load completely in its RAM for superfast performance and yet battery life was still excellent. There might be apps that behave intrusive but that's not the majority of the cases. Try to isolate them with a tool like SystemPannel but first read its description @ the Market. Additionally try freezing with Titanium backup some of the apps you're definitely not using. Hope this helps.
p. s. Try switching from interactive to ondemand governor.
Ok, thanks very much for the info! I was talking to someone else about this earlier today and the made the same point as you.
Hi all,
I guess ever since getting the Nexus 7 when it came out, I've been trying to reduce lag. It has become as sort of project of mine. The last year, I have gone over lots of ROMs, kernels, tweaking tools, and tried lots of good (and very much bad) stuff.
So far, I've come quite far and I am quite happy with the way my Nexus 7 runs. The Nexus runs great in all other apps, really. Browsing is smooth and not comparable in any way to what I started out with. I have some Danish, poorly designed sites that are quite heavy, and I get no lag.
Apart from one thing - i get BAD lag when scrolling down a list which has images in it. I also get minor lag at other lists, but images makes it horrible. My two best examples are the play store (almost unusable) and gReader (slightly better with images off in lists, but hey, shouldn't have to be like that).
I've been googling loads and it seems very few people have the same problem? I've had this problem with all kinds of ROMs, kernels, tweaks, whatever really. I can have a crap setup with a million services running and a google now process gone haywire with cpu at 75 degrees celsius, yet the stutter is just the same in play store and greader (e.g.).
My current setup (but note, I've tried many with same result):
- Completely fresh install of recent CM10.1 nightly
- franco kernel (1.7GHz CPU, 700MHz GPU, 512Kb read-ahead, interactive, deadline, fsync off, gpu scaling off, wifi performance streaming)
- Almost all services disabled, including most of google's, meaning I have greenify running, a few under google services and android keyboard
- Sync is currently off
- Currents is not installed
- I've got fstrim installed and run that recently on all partitions
- I've got 9GB of 13-ish free at the moment
- Location sharing off
- Accessibility off
- No widgets, completely empty homescreen (I use Apex, not locked in memory)
I've been testing on a 100/100Mbit line fiber and 60/15Mbit LTE and identical experience.
I DO have Xposed installed atm, but after this fresh install (and many other similar times), I go straight to play store on a fresh install before installing anything. Same problem always there.
I had been using Trinity kernel for quite some time, at the time I adjusted read-ahead a lot, but in this situation a standard read-ahead actually means less lag for me. I guess it means more, small lags, actually, less noticeable.
I've been testing Seeder and similar apps recently, but get no particular difference with this problem.
When using the older version of Google Play, it is much more smooth, yet in the lists with apps it still stutters. Like 2-3 stutters a second, at times it hangs for a whole second, when scrolling down. It stutters each time and image is placed.
My experience: It seems the act of scrolling AND loading images doesn't work well in parallel.
I really hope someone can help me understand the problem, or, if so lucky, help me eradicate (or at least) reduce it.
Mkay, so it seems I am in a situation, where lagfix etc. doesn't alleviate the problem with very low random write speeds. I have done Forever Gone and various other things, but it just doesn't help. So, after googling a lot again, with inconclusive results:
What the feck is the conclusion on those low read speeds? I have plenty of space free...
delanvital said:
the play store (almost unusable)
Click to expand...
Click to collapse
The Play Store has always stuttered horribly when scrolling, as does Play Music. From my own observations, this is an issue with the implementation of rendering in these applications, rather than a lack of system performance. It is not isolated to the Nexus 7 either; it occurs within these applications on every Android device.
When you load the Play Store (or Play Music with album art) and begin to scroll, images are loaded when they come into view and unloaded once you move past them. I would surmise that the behaviour is intended to conserve RAM on less capable devices, however the consequence appears to be that this constant loading and unloading of images while scrolling results in stuttering. I have tested this hypothesis by comparing image-based applications (such as HTC Music) which do not implement the aforementioned function against those that do. The result is always that the former are completely smooth, while latter stutter incessantly.
Now that most new Android devices are shipping with 2GB of RAM, I do hope that Google will either remove this function or disable it on current devices (based on the brand/model the device identifies as).
OK, I tweaked a tosser 4.4.2 GT-N5110 to see what if anything, is worth all the troubles.
I can say is there is too many issues with stock 4.4.2 that peeps have kept quiet with.
Here are the issues that I am unable to resolve...
App drawer pops open after lock screen wake up.
Multitasking sux... Will pause ui action during app installs.
Build.prop mods don"t work as well as before. Best not to modify. Hosts and gps.conig files work as before.
Lots of odd background apps to mess with tracking user interaction with apps.
Tricky to tweak with trickster mod.
Random resets when having multitasking bog down.
Still a bit of work is needed by developers in fixing apps. As of today BBC IPlayer is working with perfect picture playback and with downloaded programmes. Hulu still sucking hind tit on playback issues with 4.4.2.
Things I corrected to allow for stability and performance...
Set my router to allow for sleep packets down to 90ms intervals, and set the tokens to 5 in the advanced features. I now have strong signal in weak areas of the house. Gained an extra bar or two. Downloads have steady 4MB/s peaks at times, with a link speed of 72mb/s at the router on a 20Mb/s modem. For those who are unable to grasp speed and connectivity... WIFI has high amount of overhead on connection speed. 72mbps / 9 = 8MB/s, so ruffly half of 8 (WIFI overhead with parity, packet size, security features and so on) equals 4. So 4 MB/s is about max until I am able to connect above 72mbps at the very old wireless router. Time to get a Netgear for xmas!
Tweaked the CPU cores affinity in trickster mod to allow for better power management in moderate use age. Able to keep temperature hanging around 78 degrees F under browsing minor tasks. Thus no need to have power savings mode on.
Replaced Samsung keyboard with Kii Keyboard and customizations. smaller app size and better layout. Though left and right arrow indicators are greyed on the cursor control keys. Might or issue, as every keyboard has some issue.
Added two of the only kitkak bug fix apps on Xposed, there must be more patches to be done to make it stable.
So far after a few days of messing with 4.4.2, I have pretty much made it livable, with rooting and adding most of what I use on my 4.2.2 for Xposed customization and tweaks.
Just 4.4.2 is a different animal in using the long line of tweaks most have used in Jellybean devices, memory management especially.
Oh, first thing was to uninstall Knox in the app manager... easy peasy, no hacking or rooting to do that.
So far both OS are fast and battery friendly, as long as Samsung DVFS is disabled and Google Play Music is removed. Tried the new Xposed media optimizer... all it does is delay the media scan from finishing promptly. It is not a media scan issue, as 4.4.2 is terrible with multitasking. Until I find the proper I/O timing with the device, swap priority and interleaves will always be an issue that will plague smooth multitasking.
Google screwed the pooch with ignoring Samsung instead of working with them. As long as you get two dominant personalities to conflict, they will never be as big as Apple or M$.
Also google's mindset is stagnate with tablet vs phone capabilities... Phones are not tablets so why make tablets with phone like lollypop or material design. It wastes 20% of the table's screen in useless formatting.
So either way you can have either firmware and be happy... just 4.4.2 is buggy by design and by lack of developer knowledge to work out the wrinkles. 4.2.2 can work speedy and have excellent battery usage with small tweaks.
I will post my Trickster Mod settings for better affinity with both 4.4.2 and 4.2.2 later on.
Update
OK, I have done a lot of tests with 4.4.2 on the GT-N5110, and found causes to some issues along with my tweaking.
Never expect a Ti backup restoration to be 100% bug free. After 20 different reloads of the firmware both being fresh and clean, to performing a refresh over existing 4.4.2 that has been modified, I have found Ti backup restoration problematic. Some apps will restore with odd behavior. Like delays when starting or performing tasks. Even when cleaning out Devlik cache and clearing app cache and data. So I recommend if doing a fresh install of 4.4.2 to use Google play to restore all your apps from install points. After all if you were to restore and clean out data and cache, it would be easier to do a reinstall from Google.
Some apps that have a lot of data, I have not had issues restoring data after installing Google installed app. Though I have over 150 apps would make a lengthy testing, with all the variations in how to install / restore and clean.
If need performing a 4.4.2 refresh over existing 4.4.2 does not bring on the issues found with Ti Backup restores. Just make sure to delete Dalvik Cache before booting into boot loader.
As for using tools designed to tweak JB and earlier builds, do not use them!!! There are a few for KitKak and some are universal such as Trickter Mod and Clock Sync.
Now for my Trickster Mod settings... They are simple and should work with any 4.4.2 device as long as there are not any tweaking tools to adjust memory or build.prop adjustments with system perimeters. KitKak is a diff animal with such configs and handles memory perimeters way diff than before.
Since I noticed that KitKak will not use 300Mhz and 400Mhz in throttle frequency, I decided not to attempt look for parameters to allow the two to function. Though I have made parameter changes to allow highly responsive full throttling between cores. You can actually watch before and after how cores will interact with loads by using the video player in window mode, and running Trickster Mod simultaneously.
Here are the new values in the General page of Trickster Mod...
Read ahead buffer size - change to 384 and tap on the check mark in the upper corner.
Tap on Governor Control at the bottom of the page and change the values to reflect mine.
cpu_down_rate 1
cpu_up_rate 20
sampling_rate 30000
up_threshold 95
The settings are very stable and will not effect the device, if by chance there is a tweak applied that you forgot about, the read ahead buffer size will cause reboots. Though Trickster Mod will boot clean and ask if you want to reapply your settings. If you select no, it reverts back to stock settings permanently. If you select yes, it loads the tweaked settings and continues with your normal processes.
I'be tested further with CPU_up_rate set at 35. My old setting needed tweaking to limit CPU usage under throttling. Though the higher number will make slight decrease in throttle up transitions. The pay off is better browsing and document battery life. Videos may find a wee more playback time, but if you can stand lowering the frame rate in power saving mode, that will be the biggest gain if needed.
I also tweaked the sampling rate for faster responds times, together my changes allow for better throttling with minimum cores needed to perform the tasks. Though they will not keep all 4 cores from hitting 100% utilization when needed. Which is a good thing until you get a frozen app. Ha!
cpu_down_rate 1
cpu_up_rate 35
sampling_rate 25000
up_threshold 95