• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Program Specific Overclocking

cmajpwc

Android Enthusiast
So, in an effort to get some of my emulators running a bit more smoothly, I was wondering if there was a way to control which apps are overclocked and which are not. I have SetCPU, but I don't want it overclocked all the time, just when I'm running any of my emulators. Is there a way I can do this?

I'm also new to overclocking my Eris, and in SetCPU my speed is set to 710. I'm running Nonsensikal 16.1, so is that what its clocked at by default?

If I can't set just the programs at a certain speed, what would you recommend I set it to to make my emulators run more smoothly, still maintaining safety? I'm not TOO concerned about my batter life, as I won't be using the emulators a lot (maybe about 15-30 minutes a day in between classes or on down times). Also, if this is the case, I would just set the speed when I want to play one of them, and just set it back to normal after.

Thanks in advance, guys, I hope my question isn't TOO noobish lol
 
Interesting question and idea.

Unfortunately, I can't imagine a scenario where you could overclock just one or more specific apps. Its the CPU that gets overclocked whose increased speed benefits the whole of the processes executing on it. So, there's not a way to just make app "x" simply be overclocked faster without make everything overclock faster.

There are, of course, strategies for making individual apps get more CPU time but altering priorities and such, but you also have to remember that most "user programs" actually use a small percentage of the CPU since its the O/S that is doing the bulk of the work for your app on your behalf.

I don't see an obvious reference to the default clock speed in SikYou's thread over at XDA, but if you are seeing 710MHz, then its a safe bet that its the default clock speed.

Lastly, you should keep in mind that while 710MHz is noticeable step-up from the base 528MHz, jumping much higher does not seem to yield much in observable performance. In fact, you are likely putting your phone at higher risk of shortening its life the higher you go (gleaned from reading various posts of folks that climbed too high and stayed too long at those altitudes). In fact, there are some phone that are not even stable at 710MHz. Just be careful and judicious when choosing your higher clock speeds that you monitor your temps very carefully.

Cheers!
 
In short, no - not just for a single "process"

The kernel is time-slicing between every running process on the phone - several hundred times per second. It would require modification of the kernel itself for it to support per-process upclocking. Beyond that, I believe that the time scales involved for a processor voltage step (which occur during clock stepping) are many, many clock cycles - perhaps even longer than a normal time slice that a process is scheduled for.

There is a different answer, though which might be what you are after: some way to temporarily turn up the OC'ing just before you launch an app, and then which turns it back to your "normal" settings when that app terminates. You could do the first part of it with a script: first, turn up the max clock the usual way (by stuffing the value into the kernel), and then launch your activity with the Activity Manager ("am"). Unfortunately, "am" does not block, so the script would not block and wait until your application has finished - so that would only turn up the clock, but not turn it down. You would still need another script (or usage of SetCPU) to turn it back down.

You should pitch your idea to the app developer for setCPU, or maybe Conap for his CPUBoost - the first part of it is possible, sort of like a hybrid between AnyCut and SetCPU... but I'm not sure if the first app can be informed when the 2nd app exits. Maybe, but I'm not sure.
 
There is a different answer, though which might be what you are after: some way to temporarily turn up the OC'ing just before you launch an app, and then which turns it back to your "normal" settings when that app terminates. You could do the first part of it with a script: first, turn up the max clock the usual way (by stuffing the value into the kernel), and then launch your activity with the Activity Manager ("am"). Unfortunately, "am" does not block, so the script would not block and wait until your application has finished - so that would only turn up the clock, but not turn it down. You would still need another script (or usage of SetCPU) to turn it back down.

You should pitch your idea to the app developer for setCPU, or maybe Conap for his CPUBoost - the first part of it is possible, sort of like a hybrid between AnyCut and SetCPU... but I'm not sure if the first app can be informed when the 2nd app exits. Maybe, but I'm not sure.

Actually, something like that may be doable in the app Tasker - when you start this particular app, run a script to OC higher, and when it is not foreground, set OC lower.

Tasker for Android
 
Hmm. Alright. I was kind of hoping it wouldn't have been 710mhz, and it would have been less. Super Mario Kart is too slow lol. I'll ask the developer what he thinks though. In the meantime, thanks doogald, I'll check that out and see what I can do.
 
Back
Top Bottom