[Galaxy S II Q&A, Help & Troubleshooting] PantsDownJedi:
Hi. This is rather long and I wasn't prepared as I wrote but just simply went on with every thought. Skipping to the summary, where the bold text is, is useful for the majority of people and the entire post is intended for new people though there are some things I haven't yet seen discussed here.

I was actually reading the whole thread which dates back a bit rather slowly and wanted to give some of my experience with my battery.

First off, it seems pretty typical that when a phone is struggling to keep a connection or when there's a lot of fluctuation on 3G, then battery suffers. This was something that was really apparent for me on the SGS2 since I could more easily isolate that one issue and have a look. At the same time, though, I've found that after switching to a good solid provider in my area, who has a consistency of signal and an abundance of towers etc etc, that it made far less difference than prior if I was on 3G or 2G. I think that its actually now negligible and although I haven't tested being on 2G alone since I no longer need to, I suspect that the battery savings isn't going to effect me personally as I keep full bars or close to it most of the time now. If I go back to the previous carrier then of course it would and I'd have the same problem all over again and would be pissed off and keeping myself restricted to GSM, which sucks.

Another thing that I've found, is that every phone really must be uniquely different when it comes to undervolting, setting the governer, and even more specifically just using a custom kernel opposed to a stock kernel, or for root and CWM, one that's compiled as stock with the root goodies added by Chainfire.

I really should break this into 2 separate things.

To simplify the last paragraph, its commonplace, for example with intel or AMD processors that they might all get the same production line process but that there's such a narrow margin for error, that what's deemed acceptable for various speeds and voltages are then labeled as differant processors when they go to market, so the 3 ghz version of a processor is often the same factory result as the 1.5 ghz version and there just happened to be limitations put on the 1.5 ghz version afterward so that it simply could not go any faster as it wasn't the best batch of cookies to come out of the oven, or perhaps the L2 or L3 cache didn't turn out on one batch so part of the thing gets zapped off by a laser and marketed under a differant name.

Getting to the point, there's a lot of custom kernels and various threads about how to get the most out of these kernels. For some people this is the gold nugget but in my case it happens to be that if I want to be rooted and have the best power management while pulling adequate benchmarking numbers then the smartest thing I can do is just stick with the kernel that matches my phone that Chainfire has compiled. As I understand it he uses the same configuration file and complier options as Samsung (or gets as close as he can to it), and adds the components needed for the rooting process.

Since I'm not very smart, and have tried to save battery using Siyah various times with various settings of my own and posted by other people, only to find that my phone's personal temperment is to drain faster, I still continue to try other things and most recently the Red Pill kernel.

While trying a variety of settings with Red Pill last night and benchmarking over and over again, I found that quite simply there's a lot going on which effects the performance of the benchmark score, but even more importantly, and this took a while to notice, that undervolting to levels that didn't by any means cause crashes did not mean better battery or better benchmarks. Where it did benchmark better I found that in my case there can be a huge placebo effect because the in between scores aren't getting looked at as much, for example if I undervolt too much at 500 800 and 1000 then my phone tends to not even use those steps as much and the obvious result of this is going to be too much jumping straight from 200 to 1200 even if I'm just screwing around and flicking the home screens back and forth. This obviously will not save battery. Further to that, I felt that although the GPU can handle a larger undervolt at both settings and a larger undervolt at the lower one, that my phone's performance was much better when both of those things had less of a gap, both in speed and in voltage and went less aggressively there as well. I still have the Red Pill kernel installed and think I have reasonable values however it took quite a lot of testing, hours of it, and the jury is still out and for the most important reason as it applies to my phone which is as follows:

When I first got the phone there was a lot of talk about calibrating the battery. There's apps that will wipe a file (yes I know this is very repetitive for a lot of people but I'm writing it for those that are new) that has to do with battery calibration. You can also do it from recovery in CWM. The file will also get wiped sometimes by something you flash, for example cleaning scripts, some kernel installs might do this (I'm not sure if its wise or necissary when using a new kernel or ROM; I leave mine alone now unless something else does it).

I spent a lot of time trying to get better battery life by calibrating my battery the "proper" way, when it was completely charged, and even when it was just about to die entirely. This has always been not only fruitless, but counterproductive. I've read that the file gets deleted automatically when the battery is full and the power cable is unplugged but I'm skeptical about that as I've found that I get quite noticeably better (significant in my case) battery life when I leave it alone and let it do its own thing for at least 3 charges. That doesn't mean discharging it entirely 3 times, but that just using it as normal a few times brings it into its own all by itself. Calibrating the battery seems (to me) to actually screw this up which means another few times of use before I'm even with a clue of how a kernel (new ROM or custom kernel) is going to be on the battery.

To summarize my experience:

- Custom Kernels appear great for some people but every chip on every phone is differant. In my case sticking close to stock has been the way to go. The best I have so far done is adjusted the conservative governor to be a little snappier than default. I quite honestly got very irritated at one point at all the kernels that pop up and all the settings threads because I expected that I was going to have the same experience as other people were reporting.

- Undervolting sounds effective in theory, but its important to look at how your phone uses various frequencies according to your habits and make sure you haven't fallen into a sitiuation similar to mine where undervolting resulted in me skipping up a frequency to quickly and thus using more power. Additionally, reducing the gap between my voltage values and the gap in the frequencies I had created with my GPU settings resulted in better performance and specifically less work for the CPU.

- Battery Calibration may or may not have its place when it comes to new ROMs or Kernels (I don't know), but Calibration in general is not something the phone requires and further to that (in my observation) just makes it drain faster for a few recharges. The longer I don't calibrate it, the better.

I was at one time not pulling a full day out of my phone. Today, admittedly with the samsung 2000 mah extendable battery though, which is 20% more juice, I can pull 24 hours (as a low number to use) with 5 hours of screen time (also a low number; its more like 6 hours screen and more than 24 hours but varies depending upon how I've used it). When I first got the thing I was calibrating a lot and 5 hours of screen time I don't think would have been possible at all. If you think your phone is a lemon, you may very well just need some patients with it. I have had my original battery in it and using it more patiently as well, and although it wasn't long enough to give out accurate numbers I knew that it would have been just fine had I had to continue using the original battery.

One last thing, I typically freeze wifi sharing and Samsung's email and so forth but have noticed in more recent ROMs that these additions are getting to be more and more negligible. I would unfreeze wifi sharing if I thought I would ever use it.

A final thought for benchmarking is to look carefully at how you use your phone first, in respect to what voltages are used most often, then adjusting each frequency individually. If I undervolt too much at my top frequency then the phone doesn't crash, but it also doesn't score as well. It may be better to find the ideal spot by doing each frequency seprately and individually, then worrying about how things scale, as previously mentioned.