View Issue Details

IDProjectCategoryView StatusLast Update
0006441MMW v4Synchronizationpublic2011-05-16 00:04
Reporterrusty Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version3.2.2 
Target Version4.0Fixed in Version4.0 
Summary0006441: High CPU utilization during playback off of iPhone
DescriptionDuring playback of any track off an iPhone, for the first 62 seconds, CPU utilization hovers around 65% (and goes back up to 65% when each subsequent track starts playing).

Tested iTunes 9.2 + MM 3.2.2.1300

Note: I have not had a chance to test this out with an earlier version of iTunes + MM 3.2.1, however, I've played music off iPhones in the past and never noticed this issue. Moreover, the device has only 830 files + 0000074:0000150 on the sync list so it doesn't make sense that it would take so long.
Additional InformationReported at: http://mediamonkey.com/forum/viewtopic.php?f=6&t=37924
http://www.mediamonkey.com/support/staff/index.php?_m=tickets&_a=viewticket&ticketid=9675

Attached debug log:
7456: playback initiated --> high cpu utilization for 1 min
0002551:0007800: cpu utilization went down
8000: track 2 began playing --> high cpu utilization for 1 min
0002726:0008300: cpu utilization went down
8553: pressed STOP and then closed MM

Other notes:
-when I start MM and click the iPhone node, DB sync takes about 1-2 seconds
-when I initiate playback from the iPhone --> high cpu utilization, if I press the 'stop' button during the period of high CPU utilization, the player stops, BUT cpu utilization remains high for the full 0000021:0000060 seconds


TagsNo tags attached.
Attached Files
Fixed in build1312

Activities

rusty

2010-08-13 12:22

administrator   ~0020450

Feedback from Jiri:
here's what I've found so far:
1. Creating iPhone DB really takes some time, longer than I'd like to. I suppose that it could be optimized, not sure how much.
2. ! However, I haven't seen any difference in timings whether it's during playback or e.g. after deleting one track from iPhone.
3. ! Also, to make sure there isn't a regression, I installed MM 3.2.0.1294, re-compiled d_iPhone.dll with that small change needed in order to work with iTunes 9.2 (should be irrelevant to the measurements) and the result was the same as in MM 3.2.2.1300, i.e. I don't see any difference or regression.
3a. One could say that it might be somehow caused by iTunes 9.2, but I'm pretty sure it isn't, I measured it internally in MM and the slowest part if generating of SQLite databases for iPhone, which isn't in any way related to iTunes.

So, I'd say there isn't any regression. I could try to speed it up, but I'd rather avoid it as this state in order to not introduce some problems. Let me know if you find out anything more, but I hope we rather release MM 3.2.2 as is.

Set target to 4.0.

peke

2010-08-28 22:34

developer   ~0020468

Last edited: 2010-08-28 22:36

As I do not have iPhone I'm thinking if there is the way to generate iPhone SQLite db off the phone and then write it in phone itself. It should lease stress on iPhone Connection?

Another approach would be to buffer track in memory while MM is building iPhone DB

jiri

2010-09-14 22:47

administrator   ~0020525

Fixed in build 1312.
 - Significantly optimized DB creation, the main part is much faster now, it's about 15 times faster for 1000 tracks and 35 times faster for 3000 tracks (etc - removed exponential time complexity).

stephen_platt

2011-05-16 00:04

developer   ~0025285

verified 1375