← Back to team overview

touch-packages team mailing list archive

[Bug 1467740] Re: Lots of thumbnail requests with invalid size

 

Well, consider the cost of scaling down from a full-size photo to a
thumbnail. It takes a quarter of a second on a Nexus 4.

Surely, it's not too much to ask the caller what size thumbnail it
wants? If we are not told what size the caller needs, we can either
deliver the full-size image, which is really expensive and eats a lot of
disk space, or we can deliver some thumbnail that is arbitrarily smaller
and ends up getting scaled up and looking bad. Either the battery loses
or the user experience loses.

The meaning of (0, 0) is "give me the best thumbnail available". We'll
faithfully do that. We ask that callers use this feature judiciously
because it is expensive. The meaning of (-1, -1) is "I don't know what I
need, just give me something." I don't think that's a good idea, and we
should never have supported that feature in the first place. If the
caller doesn't know what size image it needs, there is a problem with
the caller, I think.

If the caller doesn't mind scaling up and the loss of image quality, it
is free to ask for (256, 256) or whatever, and we'll provide that. The
point here is that the thumbnailer has no business setting policy. The
policy is up to the caller.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to thumbnailer in Ubuntu.
https://bugs.launchpad.net/bugs/1467740

Title:
  Lots of thumbnail requests with invalid size

Status in thumbnailer package in Ubuntu:
  New
Status in unity8 package in Ubuntu:
  New

Bug description:
  When using scopes, the thumbnailer gets loads of requests with
  QSize(-1,-1) from the shell. For example, with a bunch of videos
  recorded, run up the video scope and go to "My Videos". The shell asks
  for a thumbnail at QSize(-1,-1) for the tiny thumbnail that appears to
  the left of each list entry.

  The problem with this is that the thumbnailer interprets this to mean
  "give me the largest size you can (limited to a 1920x1920 bounding
  box). That's very expensive, especially in terms of disk space,
  because that 1920 "thumbnail" ends up going into the cache, needlessly
  hogging space.

  We are about to add a qWarning message to the QML side that reports
  invalid QSize requests. For now, we are going to retain the old
  behavior, but this will turn into an error soon.

  The most effective way to use the thumbnailer is to simply ask for an
  image in the desired size, with neither width nor height of -1. The
  thumbnailer will efficiently produce a thumbnail for that. (We do lots
  of internal caching to avoid extracting or downloading a thumbnail
  unnecessarily.)

  The thumbnailer may deliver a thumbnail that is smaller than what was
  asked for (because it never up-scales) so, if asked for a thumbnail of
  size 256, it's guaranteed not to be larger, but might be smaller (if
  the original image is smaller than what was asked for).

  Could you please adjust the shell behavior to ask for specific, valid
  sizes only?

  Running a tail -f on ~/.cache/upstart/dbus.log allows you to see the
  requests as they are made. Each request shows the size that was asked
  for.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/thumbnailer/+bug/1467740/+subscriptions


References