Lots of irrelevant thumbnail requests

Bug #1551524 reported by Michi Henning
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Music App
New
Undecided
Unassigned
thumbnailer (Ubuntu)
Triaged
Undecided
Unassigned

Bug Description

I have a bunch of songs in the Music directory, some without embedded art, some with. I leave the music app in the song list and kill it. Then:

thumbnailer-admin clear

tail -f ~phablet/.cache/upstart/dbus.log

Now I start the music app. I've attached the dbus.log.

Looking through the requests that are issue to the thumbnailer, I would expect to see only thumbnail and album requests, depending on whether a song contains embedded cover art or not. However, there are artist requests interspersed with all the other requests, even though no artist is shown in the current view.

Doing this is not great because the remote server is slow, and the useless artist requests just delay the album requests that need to be shown. In other words, it makes for a worse user experience.

Would it be possible to restrict requests to only what is actually needed for the current view? Things would move considerably faster that way.

Revision history for this message
Michi Henning (michihenning) wrote :
Changed in thumbnailer (Ubuntu):
status: New → Triaged
Revision history for this message
Andrew Hayzen (ahayzen) wrote :

This sounds like a duplicate of bug 1544825. Which is where because of all the tabs being loaded, the request for the images on the non-visible tabs are sent to the thumbnailer. I'm not sure where abouts in the stack this should be prevented as the Image object is not visible, should the Image.visible=false be enough to stop the call? Should the image provider (thumbnailer) itself stop it when the image is not visible?

However it should be noted our Image are async, so this won't block the UI while it is waiting for the response.

Revision history for this message
Michi Henning (michihenning) wrote :

Not sure whether this is a duplicate, I don't know enough about the internals of the music app.

In terms of performance, it does matter, even though you are async. It won't block the UI, but it does prevent album art from arriving because of (unneeded) artist art ahead of it in the queue. There are only so many thumbnail requests we can have outstanding at a time. So, each artist request that we get prevents an album request from being processed that, otherwise, could have gone ahead straight away. Requests to the remote server have turn-around times of around 6 seconds, so this is significant.

Whatever you can do to avoid making requests for images that aren't actually needed will do a lot to improve the user experience.

The thumbnailer can't help. It's image provider is simply told "fetch this", and the thumbailer goes ahead and fetches it. The thumbnailer has absolutely no idea of what's visible and what isn't.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.