What's new
DroidForums.net | Android Forum & News

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

OverClocking 101

Status
Not open for further replies.
I added the following to post #3. Since it is a minor addition I thought I would also paste it here so you don't have to hunt for it.


Sampling rates continued

Sampling rate is about how many times a second the OS checks things. If you want to check once a second you would enter 1000000. To check four times a second you would enter 250000. Twenty times a second is 50000. So the more you want to sample the lower the number has to be. With that in mind, here is some new findings under Froyo 2.2.

Sampling rates larger than 250000 (four times a second) seem to be pointless based on my testing this week. At 333333 (3 times a second) custom ringtone playback starts to fail. After testing 50000, 100000, 1500000, 250000 and 333333, I can't really seem to find an affect on battery life worth noting.

So it seems some where between 30000 (33ish times a second) and 100000 (10 times a second), with an up threshold of 75 to 90 and power bias between 0 and 100 seems to be the safe bet for daily use.

And here is a reminder on the rule:

Sampling rate tells the OS how many times a second to test the Up Threshold to see if you need to ramp up or down and the power bias tells the CPU how far up it should go towards max.
 
Last edited:
I added the following to post #3. Since it is a minor addition I thought I would also paste it here so you don't have to hunt for it.


Sampling rates continued

Sampling rates above 250000 seem to be pointless based on my testing this week. At 333333 custom ringtone playback starts to fail. After testing 50000, 100000, 1500000, 250000 and 333333, I can't really seem to find an affect on battery life worth noting.

So it seems some where between 30000 and 100000, with an up threshold of 75 to 90 and power bias between 0 and 100 seems to be the safe bet for daily use.

And here is a reminder on the rule:

Sampling rate tells the OS how many times a second to test the Up Threshold to see if you need to ramp up or down and the power bias tells the CPU how far up it should go towards max.

If I could get some clarification: Define "above" please. Do you mean, a faster sampling rate, such as meaning between 1-25000? Or do you mean "above" as in a higher number, such as between 250001-100000?
I believe you mean a faster sampling rate, but I want to help eliminate confusion for the less technical, or those of us that are brain-dead after work :)
 
I added the following to post #3. Since it is a minor addition I thought I would also paste it here so you don't have to hunt for it.


Sampling rates continued

Sampling rates above 250000 seem to be pointless based on my testing this week. At 333333 custom ringtone playback starts to fail. After testing 50000, 100000, 1500000, 250000 and 333333, I can't really seem to find an affect on battery life worth noting.

So it seems some where between 30000 and 100000, with an up threshold of 75 to 90 and power bias between 0 and 100 seems to be the safe bet for daily use.

And here is a reminder on the rule:

Sampling rate tells the OS how many times a second to test the Up Threshold to see if you need to ramp up or down and the power bias tells the CPU how far up it should go towards max.

If I could get some clarification: Define "above" please. Do you mean, a faster sampling rate, such as meaning between 1-25000? Or do you mean "above" as in a higher number, such as between 250001-100000?
I believe you mean a faster sampling rate, but I want to help eliminate confusion for the less technical, or those of us that are brain-dead after work :)

A number larger than 250000 is a waste. And I will do my very best to remember to write that way. I am pretty sure my co-workers would hound me as well for that wording. When I get back into the office tomorrow, I will try to write a better version. Thanks for the keen observation. :)

And you have actually given me another thought on that. Should I write my own app, I think I will go with showing sampling rate as a smaller number between 1 and 33. So you pick how many times a second you want it to happen. Save everyone from typing 5 digit numbers that does the same thing.
 
simply great information to know. the concept is simple but I like the details and your breakdown of the testing process. thank you for the info man!
 
Thanks so MUCH for all the info...

Question, how can I upgrade my setcpu 1.5.4 to 1.6 without having to buy again???

Thanks in advance!
 
Updated the Sampling Rate note based on good criticism.

Thanks Taegost!

You're welcome :)
I'm always looking out for the FNGs, I know how scary it can be when you're a newbie... I still pretty much am with the Android thing :)
Keep up the great work, and if you want any help testing anything, let me know!
 
Hey, Skull

I was wondering if you have had an opportunity to spend any time with SetCPU V2.0 yet, and if you had any thoughts on the build.

There are a lot of interface improvements, but some modifications to the app as well.

I know we would all value and appreciate your insight and thoughts.

Thanks as always!
 
I have played with it and I should be able to do a write up over the weekend. I have been waiting on a new version of what I hope to be my new base ROM to test with since Team Chaos is now disbanded.
 
Historical data for SetCPU 1.x

SetCPU 1.x (This is for reference to any version prior to version 2.0 that was released in June 2010)

What does SetCPU do for you? In a nut shell it writes/sets files used by the Android OS to clock the OMAP3430. But that's not all it does. It also monitors if your Droid is charging, the percentage of remaining battery, the temperature of the battery and (if the kernel provides it) the temperature of the CPU. For the most part SetCPU is simply in an idle state waiting for a change in one of those conditions. When one of those conditions change, SetCPU can change how your Droid is being overclocked automatically. The benefits can be as simple as better battery life as your Droid's battery depletes, to warning you that your are overheating and throttle back the CPU before any damage can be done to your Droid.


SetCPU has several selections.

Max: xxxxMhz with a slider. That setting is the highest Mhz the CPU will be allowed to run at.
Min: xxxxMhz with a slider. That setting is the lowest Mhz the CPU will be allowed to run at.

The Max and Min allowable selections will be based on what over clocking kernel you choose to use.
The steps on each slider will be based on the number of slots the kernel provides.

To the right of the buttons Refresh, Profiles, System Info, Advanced and About are the CPU Governor drop down list, "Auto-refresh" check box and "Set on Boot" check box.

Auto-Refresh = Show in real time what the processor is clocked at in the top left of the display.
Set on Boot = the Min and Max slider will be used to set the CPU speeds once SetCPU has loaded during the startup of the phone.

So we know what Max, Min, Auto-Refresh and Set on Boot does, let's explore what CPU Governor does.

I am going to base the following explanations upon using SetCPU 1.5.4 and a mythical 5 slot 1000Mhz kernel. This mythical 5 slot kernel will have 125, 250, 550, 800, 1000 Mhz selectable.

The CPU Governor has the following selections, based on this mythical kernel:
Conservative, userspace, powersave, ondemand and performance.

Let's explore what each does.

Conservative:
This setting does exactly what it says. Conserve. And it does it by conserving the battery where it can. It accomplishes this thru throttling the CPU to the Min frequency as much as possible. As the CPU usage increases it throttles towards max but at a slower pace than "on demand" due to only checking every 1/4 of a second.

Userspace: (subjective/opinion)
I don't have factual info on this one, even the author of SetCPU doesn't explain it. I have observed behavior with some kernels where it idles at the middle slot. In others it idles at the Max slot. Any insight to this one would be appreciated.

Powersave:
It clocks the CPU to the Min setting.

Performance:
It clocks the CPU to the Max setting.

Ondemand:
This ramp the CPU, using the Advanced Settings, from Min to Max based on system load.

Let's explore what the Advanced Setting does to facilitate ondemand and conservative.

Sampling Rate: How often the OS checks the Droids work load.
Up Threshold: At what point the max throttling kicks in based on system load.
Ignore Nice: Tells the OS to examine each process running and to see if ramping up the clock can be deferred.
Powersave Bias: How much overclocking above the Min setting is allowed to happen which helps conserve battery.


What does all of that mean? You have the power to custom tailor how fast your battery will drain vs. how snappy applications are going to respond/run.


Now the PROs and CONs of each setting: (Subjective observation)
Sampling Rate: Do it too often and you will actually slow your applications down. Don't do it enough, some processes will finishing running before the setting can step up the clock. It is a a neat juggling act to decide what number to use.

Up Threshold: This is NOT a direct measurement of the CPU usage but more of how well the CPU is doing servicing all applications. I am still exploring the full implications of this setting. But the Pro is lower percentage = faster ramp up. Con, quicker battery drain due to spending more time at Max.

Ignore Nice Load: Nice is all about how well a process surrenders use of the CPU to other processes. The current 1.5.4 version of CPU and Froyo 2.2 need testing.

Powersave Bias: 0 = don't save battery, 1000 = save battery at all costs.

Profiles are the same as the base one except they are used for overrides when needed.
Charging activates when plugged in.
Sleep/Standby is when the you lock the phone or it auto sleeps.
Three Power < % for when the battery is low.
Failsafe is for when the battery or CPU gets to hot.
 
Status
Not open for further replies.
Back
Top