View Issue Details

IDProjectCategoryView StatusLast Update
0019605MMANow Playingpublic2024-05-09 19:14
Reporterrusty Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status assignedResolutionreopened 
Product Version2.0.0 
Target Version2.1.0Fixed in Version2.0.0 
Summary0019605: Performance: Optimize Artwork loading on Playback initiation
Description1 Navigate to a playlist (in which all tracks have album art)
2 Click 'Play shuffled'
--> Playing [Album Art view] opens and briefly flashes blank album art before the correct art displays!

In contrast if the user initiates playback of an album/track this issue doesn't occur.

Tested on build 1050 on Android 13.
TagsNo tags attached.
Fixed in build1153

Relationships

related to 0020135 closedmartin Android Auto: Artwork switches to 'no artwork' when switching between tracks 
related to 0020009 assignedmartin Performance: delay in response to playback controls with consecutive taps (regression) 

Activities

rusty

2022-12-05 16:26

administrator   ~0070498

Raised to 'immediate' since the issue occurs more often than originally thought, and has worse effects than originally described.

The issue occurs whenever the user initiates playback of a Playlist (not just which using 'Play shuffled').

In addition to the 'Blank artwork' flashing, the track metadata doesn't update to display the newly playing track until a couple of seconds of playback have elapsed.

martin

2022-12-09 22:22

developer   ~0070514

A)
On my devices, everything works fast, so it looks more like a memory problem and not a regression. Maybe a reboot app or device would help.
B)
Every playback request takes some time to process. Until the request is processed the previous track is displayed, then blank album art may flash between old and new album art.
In MMA 2.0, there is an optimization for all views, containing tracks.
When a user clicks on a track to play, then this track is displayed in NowPlaying until "play" request will be processed.
Therefore displaying the required track in "Now playing" is super fast from these views.
This optimization is also added for playlist/items view to the next build 1051.

Fixed in build 2.0.0.1051

rusty

2022-12-13 03:49

administrator   ~0070527

It's not a memory issue. I'm able to replicate the problem consistently as follows:

0 Set Options > UI > Show in notificatins bar to 0
1 Open Playlist A (with 300 tracks) and tap track 3 to initiate playback. And then STOP playback via the notifications bar.
2 Wait 1 minutes
--> MM stops running in the background
3 Open the device again, and in MMA, select playlist C (with 300 tracks) and tap track 4 to initiate playback
--> Playback starts but it takes a couple of seconds before the correct artwork displays

This happens consistently (but the bug doesn't usually occur if MM has not stopped running in the background after step 2).

rusty

2022-12-21 06:09

administrator   ~0070677

A possibly related issue is that one user indicated that when initiating playback on Android Auto, the first track is always missing album art.
https://www.mediamonkey.com/forum/viewtopic.php?t=103215

martin

2023-04-14 16:35

developer   ~0071506

There are some improvements and fixes in build 2.0.0.1075.
Let me know whether it is ok on your side. Otherwise capture a video, ideally compared to MMA 1.4.X.

rusty

2023-04-20 05:59

administrator   ~0071559

Here you can see how it takes about 1 second for the artwork in the Playing view to update. Moreover, if you watch the video slowly, you can see:
- initially it loads 'blank artwork'
- then it loads the artwork for the previously played track
- then it loads the artwork for the playing track
It should skip loading the artwork of the previously played track if playback for a new track has already been initiated.

Debug log PSSBG6RM1L

rusty

2023-05-09 14:45

administrator   ~0071779

Retested in 1080, and the behavior seems to have been somewhat optimized. In this build, initiating playback from a browser view
-->
- initially it loads 'blank artwork'
- then it loads the artwork for the playing track about a second later

I would suggest that:
a) it should skip loading the 'blank artwork' screen (only show the blank artwork if there's actually no artwork)
b) speed up loading of the artwork if possible (it's slower than other apps)

martin

2023-10-17 19:30

developer   ~0073144

Last edited: 2023-10-17 20:03

Fixed in build 2.0.0.1152

rusty

2023-11-10 15:55

administrator   ~0073421

Last edited: 2023-11-10 15:55

Tested 1154, and I'm still able to replicate this problem in some specific cases, and I believe that it's related to cases where artwork is scanned to the library rather than synced (or more generally, to the specific mechanism used for storing artwork in such cases, since the bug probably can also occur with synced artwork if that same storage mechanism is used).

To replicate:
0 Use a slightly older/slower device so that it's easier to observe the performance issues
1 Use MMA to sync 4 20-track playlists to a device
2 Delete MMA and the associated DB
3 Re-install MMA so that the tracks and artwork are scanned
4 Navigate to Playlist1 / Playlist 2 etc.
--> Very often, the artwork for all of the tracks flash with 'No artwork' before the artwork is loaded
5 Tap 'Play shuffled'
--> Very often the 'No artwork' image will load prior to loading the actual artwork

rusty

2024-05-09 19:14

administrator   ~0075376

Moved to 2.1 since that build will include a tag scanning engine and so all tracks should be treated similarly thus presumably solving this problem.