BlackRabbits, on 14 January 2012 - 09:14 PM, said:
Awesome! Out of curiosity, what was the issue?
PS - Giving the kernel a try! I'll report back with performance / battery results.
Removed one feature from the kernel which was needed.
dwang, on 15 January 2012 - 12:25 AM, said:
Sorry I don't mean to keep arguing w you.
What I'm saying is if u fix the CPU speed to 1.2ghz, then you'll be draining more battery when playing music w the screen off because playing music should only require the CPU to be clocked at 350mhz.
So if I listen to music 3 hours a day, it would be more beneficial to allow the CPU to down clock to 350mhz than to keep it at 1.2ghz at all times.
If I'm missing something here please enlighten me.
A single CPU core can only execute one command at a time. Multitasking is achieved by rapidly switching between the programs that are currently active which on the time-scale of human-device interaction creates the illusion of these programs running simultaneously. For example when listening to music while browsing the web, the OS will run the music player to fill a buffer with decoded music for the next few ms, then switch to the browser and run the browser for a few ms while playing the music from the pre-decoded buffer and then switch back to the music player once the buffer is exhausted.
If the CPU only has to run a small number of tasks and it has some spare time, it switches to an idle state. There are different idle state implemented for the GN and the lowest one 'C4' saves a lot of power by switching off parts of the processor. So when playing music with screen off, the processor will decode music for a few ms of playback, then switch to the C4 state until the buffer runs dry and more music needs decoding. So even with a background task being active the processor can spend most of the time powered down. And the faster the CPU runs, the faster it can finish the decoding task and switch back to idle. This is called race-to-idle and the reason why the frequency should always be maximum.