Moorehead Enterprise Forums

View Full Version : Best Music Player for Pocket PC - battery + CPU efficiency stats here...

18th January 2013, 04:50 PM

Current multimedia players have vastly different CPU usage (and, therefore, power consumption), particularly if you enable for example equalization, digital signal processing (DSP) and the like.

Here's rundown of players that use the most CPU usage (stay clear of them), and the best low CPU usage players to consider...

Upon creating the chart, I've measured the CPU usage at 208 MHz to directly and reliably compare the CPU usage of each and every application. I’ve chosen such a low CPU frequency to emphasize the CPU usage differences (at higher CPU speeds, the differences would be smaller and more prone to benchmark errors. As can be seen, the, in this respect, there are four clearly separate groups. As with all the other figures in the test, the lower the given percentage, the better.

Note that if you install Platform4 Player 3.0 into the main storage, it'll start playing its default video, MPEG4 by philips.mp4, at starting. This will mess up the screen of the Pocket PC. Therefore, you'll want to manually delete this file from \Program Files\Philips.

It's also worth pointing out that Citsoft's iMusic 2.10 , which is a direct successor to withMP3, seems to be definitely worse, both CPU usage- and capabilities-wise, than its predecessor. For example, it seems it's not possible to switch off the screen from inside the new player, as opposed to withMP3. That is, you may want to stick to the latter, despite its being older.

Note that, as it doesn't have (and I don't particularly like requesting freebies so that I can avoid situations like biting the feeding hand) a trial version, I couldn't test the current version of TCPMP's successor, CorePlayer either. According to the developers (I've talked to them on the matter per e-mail), it has 6...10% less CPU usage than TCPMP 0.72rc1, which may mean it's, now, better than even iPlay. Once again, I haven't tested this.

Also note that the current roundup ONLY tests MP3 playback. For example OGG or Flac playback is NOT benchmarked in here. In some of my older benchmarks, I've published Ogg-related information too.

Finally, the latest downloadable build of the WinCE port of well-known (also see this Wiki entry) VLC wasn't able to play any MP3 files at all; this is why I haven't included it in the chart.

Other recommendations on decreasing CPU usage

As can be seen, visualizations (and, with some titles - for example, TodayPlayer - even peak meters) are one of the worst enemies of battery life. The most CPU-intensive task is displaying equalizer spectrums. Some apps (for example, WinVibePro) don't even notice the spectrum not being visible and still consume a lot of additional CPU cycles - in vain. Therefore, make sure you scrutinize the peak meter / spectrum-related remarks in the chart and either disable them or make sure they are hidden while playing.

The first group, consisting of three applications, offers, CPU-usage wise, about twice the runtime than the better titles (for example, the built-in Windows Media Player (WMP), LGC Jukebox and GSPlayer in the second group). The best-behaving applications is definitely 40th Floor's iPlay (sporting 11% CPU usage), closely followed by TCPMP and Resco Audio Recorder (12 and 12.5% CPU usage, respectively). Always try preferring these three players if you absolutely need the best battery life!
The second group contains many more titles and is started with a brand new title, LGC Jukebox (sporting 20% CPU usage), which is, then, closely followed by the widely-known, excellent, with third party add-on plug-ins, even midi- and mod-capable freeware GSPlayer (21%), VITO AudioPlayer (21%) (when minimized), WMP (21.4%), the (as opposed to all the listed titles so far, not taken iPlay and, partly, TCPMP into account) AVRCP-capable, free and and excellent MortPlayer (22%). Also, some lesser-known titles (for example, the no-longer developed TodayPlayer) are also in this group; so is NoteM, the excellent, free MP3 recorder. (Also note that NoteM is particularly sensitive to skips, which may make it to a non-recommended player in certain circumstances.)
The third group consists of titles like WinVibePro (more on this title later!), Conduits' Pocket Player, VITO SoundExplorer, PocketMind's PocketMusic Bundle , iMusic and withMP3. The CPU usage of these titles is between 24 and 27.5% and are definitely less recommended than even the players in the second group, unless you REALLY want to take advantage of the advanced features of, say, Conduits' Pocket Player and VITO SoundExplorer.
The fourth (worst) group consists of Nero Mobile (31%), Platform4 Player (37%) and absolutely the worst title, WinamPAQ (40%). Note that WinVibePro should also belong to this group because its CPU usage is pretty tricky and is pretty hard to predict whether it will really "only" consume 24% of the CPU cycles, or, will it consume way more.
I've also measured the CPU usage with enabled equalizer (I've tried to "cook" the same very-strong-at-highs and slightly-stronger-at-basses with all the players so that they sound at least similarly the same with my Plantronics 590A, which, by default, pretty much lacks the highs) and bass boost, both when available. These are listed in the third column.
As can be seen, using built-in equalizers (EQ's) definitely raise the power consumption with most (but not all; there are some exceptions like GSPlayer and MortPlayer (they use exactly the same core; hence the minimal additional CPU usage), the no-longer-maintained TodayPlayer and the otherwise absolutely bad WinamPAQ). This means if you use some other player, you may want to consider using built-in, hardware-level equalizer capabilities of your Pocket PC if and only if it supports it AND you don't listen to music via Bluetooth A2DP. In some devices (for example, the HP iPAQ hx4700, the HP iPAQ 2210 (even if the latter only has a really basic bass/middle/tremble setter) in Start / Settings / System / iPAQ Audio), there is already a built-in equalizer; in other devices (for example, the Dell Axim x50(v) / x51(v) or the old Compaq iPAQ 36xx/37xx series, you can get access to them with external tools like x50mix and UdaEq 1.1, respectively. They won’t cause any additional CPU usage, as opposed to software-based solutions.
Except for them in this test, excellently behaving GSPlayer, MortPlayer, TodayPlayer and the (otherwise, in no way recommended) WinamPAQ, enabling EQ may result in really bad CPU usage increase. This is definitely the case with, for example, PocketMind's PocketMusic (Bundle), withMP3, the non-recommended Nero Mobile, and, finally, depending on the number of points you use (for example, if you only raise the highs with only one point, you can save a lot of battery - but, still, it's better to use another media player if battery life is a concern), VITO SoundExplorer. Note that VITO AudioPlayer, unlike its "big" brother, doesn't have any DSP or equalizer; it, however, sports a (fixed) bass boost, which, unfortunately, is pretty CPU-hungry.
Also note that the two multimedia players (iPlay, TCPMP) belonging to the "least CPU-hungry" group and also having a built-in EQ (Resco Audio Recorder doesn't support EQ) become much more CPU-hungry when you enable the built-in EQ. iPlay's CPU usage almost doubles, and TCPMP's CPU usage increases by about 40%. This also means you almost completely lose the CPU usage advantage of, say, iPlay if you DO use the built-in equalizer. Again and again, if you use wired headphones, check first if your particular Pocket PC model already has support for system-level EQ settings. (Unfortunately, this, as has already been pointed out, won't work through A2DP.) Alternatively, try to avoid EQ's - remember, real audiophiles (like I used to be) don't use any kind of equalizers at all ;-)
The fourth column lists a well-known, nice and really useful DSP, reverb. While most reverb (in some players, there are only some similar DSP's like Pocket Player's "echo") implementations (except for that of iPlay) are pretty bad, I've still found this test necessary to find out how much additional CPU load they cause. I was particularly interested in the figures of iPlay, which has a wonderful reverb DSP you'll love to keep enabled. As can be seen, with iPlay, enabling reverb almost triples the CPU usage. This is, however, in my opinion, is a good tradeoff, taken into the quality of the reverb. It should be pointed out that "massive" (maximal) reverb causes the same CPU usage as "more". This means you won't really extend battery life if you refrain from using "massive" reverb effects and stick to lower-level effects.
The fifth column lists whether the bad side effects of enabled visualization (spectrums, peaks) can be avoided by (that is, is the application celever enough NOT to spend any CPU time on the then, invisible visual effects) just shutting down the screen. As can be seen, even some of the top apps (for example, Conduits Pocket Player and, of course, the CPU usage-wise, pretty hopeless WinVibePro; also in this group is VITO AudioPlayer) ignores this and continue to compute for example the spectrum. It's only with withMP3 that the CPU usage decreases in this case.
Finally, the sixth column lists the speed the (XScale) CPU switches to while playing the same 112 kbps MP3 test file (Värttinä: Oi Dai - Oi Dai). The CPU speed setting will also be of interest in addition to the, up to now, 208 MHz-only CPU usage figures. As you'll see, these results are pretty easy to predict based on the results listed in the second (208 MHz, no-EQ/reverb/bass boost CPU usage) column - with a notable exception (WinVibePro).
Why is this column important? If you don't want to manually force the XScale CPU of your Pocket PC to either 104 or 208 MHz (as opposed to letting the CPU itself switch back to these speeds when there isn't much load), you may want to go right for a program that lets the CPU run at the lowest speed possible; that is, 104 MHz. Currently, there are only two of them: iPlay and, for the most of the time, TCPMP. (Without using the built-in EQ or, with iPlay, Reverb DSP, and, naturally, without additional CPU-intensive tasks like A2DP encoding running in another process. If you do run additional tasks like A2DP encoding - A2DP is VERY resource-intensive, particularly if you use the Microsoft BT stack -, then, the CPU usage of the multimedia player application won't be the only factor for the CPU to decide what clock speed to run itself at.) This is because, say, consuming 22% of CPU cycles at 104 MHz requires LESS power than consuming 11% at 208 MHz, as can also be seen in my past, power consumption-related articles.
Note that the CPU usage introduced by actively monitoring the CPU speed / load (through Services.exe) is 1.5% (1.8% with enabling the load monitoring) at 208 MHz and is, therefore, negligible, as far as the test results are concerned. That is, it's highly unlikely the additional, at 312 MHz, ~1.3% CPU usage caused by monitoring is causing the CPU to switch to 416 MHz from 312 and so on.
Also note that this column is only meaningful for XScale CPU's (it's they that use integer multipliers with the default 104 MHz); Pocket PC's with Samsung (for example, iPAQ 1930/1940/rx1950; HTC TyTN etc.) or the TI (HTC Wizard and a load of other QVGA WM5 PPC Phone Edition devices) CPU's don't really use this kind of automatic speed switching or, if they do, they use vastly different speed steps.

My personal pick / recommendation is 40th Floor iPlay (

Moorehead Website Consultancy Services