Jump to content
Poweramp
Sign in to follow this  
tolok

Too high CPU usage of PowerAMP

Recommended Posts

Hi!

My problem with Poweramp is about CPU usage. It's about 30-35%, checked in Watchdog and other apps. Of cours it drains my battery ;/

I don't think it's the matter of rom, beacause I hade it both on the 2.2.1 custom roms and JVK Gingerbread based roms now. My phone is Samsung Galaxy S. It's about a trial version, but I also bought a full version, checked in Watchdog and CPU usage was the same, so I took it back within 15 minutes. Really have no idea how to solve that. I hope you have ;)

I can't wait your reply, because I really like your app, want to buy it and listen to music - now it is impossible with draining battery like while playing a 3D game.

Kindest regards,

tolok

Share this post


Link to post
Share on other sites

Hi,

it's explained here: viewtopic.php?f=1&t=810&p=3107#p3107

In short, on your device (stock roms checked) PowerAMP uses absolutely the same amount of cpu/batter, and will discharge the same amount of battery over time, but PowerAMP was tested with equalizer and tone enabled, while stock player - without it, it means, PowerAMP codecs are a bit more effective than stock.

You can't compare cpu usage by just comparing some % with what? Music app usage? on android, as you need to take total cpu utilization and cpu frequency.

Thanks!

Share this post


Link to post
Share on other sites

Thanks for your reply.

But I've read this topic earlier and of course I understand the thing written there.

But it's uncomparable: using Poweramp it is 35% of SGS Cpu with no other apps in background, and about 5% of CPU when playing the music in stock mp3(including android process concerning playing the music).

Apart from that I've written my problem on android forum and several users replied and their usage was about 5%.

The problem is that it should use 3-7%, while actually uses 30 or more %.

Do you have any idea what may cause that?

Regards,

tolok

Share this post


Link to post
Share on other sites

Sorry, but stock player uses same 30-40% on 100mhz as PowerAMP when playing the same mp3 files.

You can get 5% from both PowerAMP and stock player if CPU runs on 1000mhz.

On Android, CPU usage is SCALED depending on current CPU speed. Processor can change it's frequency many times per second, but if you don't do anything on the phone it will settle.

Example: you do nothing on the phone - you can see app uses 50% of cpu. You scroll somethings - app now uses 5%. Why? When you do nothing, CPU runs on 100mhz. When you scroll something, it switches to 1000mhz and CPU usage is scalled, but the APP uses the same amount of cpu resources in both cases.

I understand it may be complicated to understand, but if you want to compare cpu usages fairly on Android you have to understand that (or just total battery consumption instead).

Also you need to understand, that Android is multiprocess system, and stock (and many other players) actually uses media system process to decode/play songs, they don't do anything except drawing the UI.

I made few sceeenshots which shows how CPU usage scales depending on current CPU frequency. In all cases PowerAMP/stock player played the same file.

Thanks!

100mhz======

[attachment=3]stock-player.png[/attachment]

[attachment=2]pa.png[/attachment]

1000mhz=========

[attachment=1]stock player.png[/attachment]

[attachment=0]pa2.png[/attachment]

Share this post


Link to post
Share on other sites

OK, thank you, now I understand! :)

But how to check what is current frequency of CPU (100 MHz or 1000 etc.)? Did you use SetCPU app? In OS Monitor and Watchdog Task Manager there is no such an information.

Share this post


Link to post
Share on other sites

OS Manager Misc tab (the cpu consumption can be checked in parallel with "adb shell top"), or widgets which can show both cpu% and freq = Temp+CPU, Process Monitor, but these can be slow.

Share this post


Link to post
Share on other sites

OS Manager Misc tab (the cpu consumption can be checked in parallel with "adb shell top"), or widgets which can show both cpu% and freq = Temp+CPU, Process Monitor, but these can be slow.

Share this post


Link to post
Share on other sites

Ok, I used SetCPU and set frequency to 1000mhz. So, you are right - it's about 6% usage(Poweramp). But with stock player it shows me about 0,2-0,4 % (mediaserver). I will check it later several times to check if it is stable.

EDIT: checked several times and next day and it is still the same. If it isn't something wrong with my SGS it looks that Poweramp consumes over 10 times more energy than stock player :(

Share this post


Link to post
Share on other sites

I tested Poweramp and stock player (Samsung Galaxy S):

full battery -->reboot of the phone ---> 1h30min of Poweramp playing music + 5min phone idle --->94%

full battery --> reboot of the phone --> 1h30min of stock player playing music + 45min phone idle -->98%

of course, wifi, gps, bluetooth etc. turned off ; flight mode turned on.

;/

Share this post


Link to post
Share on other sites

I also see the same issue - when CPU set to maximum : 1000 Mhz (Samsung SGS, Darky 10.1):

1. Stock mussic player use less than 0.5% (including mediaserver process)

2. Poweramp use ~4% (equalizer and tone is on)

So Poweramp is definitely takes much more resources and drain battery much faster. The question if this is by design or

there is an issue (ROM or Poweramp). In all similar threads you claim that Poweramp should use the same CPU cycles as stock

player. This seems to be not correct (at least in my case).

Other than that - Poweramp is a great application, thank you for that !

Share this post


Link to post
Share on other sites

In case of Samsung SGS1 on 2.3.3, it seems to use some hardware player or somehow else offload the MP3 decoding from CPU.

This applies only to 2.3.3 only to SGS and only to MP3. MP4/AAC/FLAC is clearly decoded on CPU in stock SGS player.

As a side effect, Android 2.3+ new audio subsystem effects don't seem to work for MP3 on SGS 2.3. I wonder how this passed the Android CTS tests (platform compliance tests).

It's interesting to compare new SGS 2.3.3 mp3 decoder with PowerAMP for a battery life time. I will do the tests (though it requires couple of days). Results will be posted here.

Btw, new PowerAMP v2.0 Direct Volume Control works perfectly on SGS 2.3.3. Clean non-distorted bass level just rocks on this phone + ROM.

Share this post


Link to post
Share on other sites

Thank you very much for explanation - now it is clear where is the difference comes from.

I indeed tested this only on MP3.

Thank you !

Share this post


Link to post
Share on other sites

Ok, 2 tests are complete:

- SGS 2.3.3 RSJV3

- repeating over All Songs

- mp3 (90% of songs), others are mp4/flacs

- screen off/airplane mode/wifi off/bt off

- volume=0%

Stock player 10 hours playing:

- all effects OFF

- battery % left= 74%

PowerAMP 10 hours playing:

- equ ON (bass preset), tone ON (bass and treble on 30%), other settings @ default

- battery % left=70%

I would say 4% difference for 10 hours playing is somewhat unexpected, I expected larger difference. It's clearly visible that while stock SGS 2.3.3 player is able to offload mp3 decoding (or hide it), it is not free for the battery, and PowerAMP is on par more or less even in this scenario.

I will do also tests with SGS stock player + SGS stock equalizer ON and PowerAMP with equalizer/tone OFF.

Share this post


Link to post
Share on other sites

Checked several times the next day, it is still the same. If it is not wrong with my SGS things, it seems, after the level of energy consumption than the stock player for more than 10 times.

Share this post


Link to post
Share on other sites

Hmm, did you really do this test on 0% volume? Perhaps 50% volume would have yielded different results due to the equalizer effects enabled in Poweramp? Also, was the test with the latest market version of Poweramp or the 2.0 in progress?

The stock player battery drain looks right for the SGS (and the SGS2) however the Poweramp drain is amazing. I'd love to only be using 30% battery for 10 hours in Poweramp however unfortunately that isn't the case (otherwise this topic wouldn't be here lol). I probably lose about 6-7% battery per hour using Poweramp. Same situation with stock player would be 3-4%. Samsung must have worked some magic somewhere!

Share this post


Link to post
Share on other sites

Ok, tested also stock SGS player with stock Equalizer/Effects and PowerAMP without Equ/Tone, final table:

- Samsung Galaxy S 2.3.3 RSJV3

- PowerAMP v.1.4 build-387

- repeating over All Songs

- mp3 (90% of songs), others are mp4/flacs

- screen off/airplane mode/wifi off/bt off

- volume=0%

Stock player 10 hours playing:

- all effects OFF

- battery % left= 74%

PowerAMP 10 hours playing:

- all effects OFF

- battery % left=73%

=======

Difference = 1%

Stock player 10 hours playing:

- equ ON (custom, all knobs moved to +1), Wide effect ON

- battery % left= 71%

PowerAMP 10 hours playing:

- equ ON (bass preset), tone ON (bass and treble on 30%), other settings @ default

- battery % left=70%

===========

Difference: 1%

[darkalchemist]

CPU/Battery consumption for just stock/PowerAMP players is about 3% per hour. Everything a top of this is Cell/3g/wifi/bluetooth/display/other apps.

The tests were done to test just a cpu/battery consumption by apps, with everything else factored out.

Cell/3g/wifi is extremly power hungry in android phones (comparing to scaled down cpu consumption).

SGS in Airplane mode can lay on table for a month without complete discharge. With 3g on it takes 1.5 day for 100->0 discharge.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×