[Thunar-dev] A Standard for Thumbnailers
Erlend Davidson
E.R.M.Davidson at sms.ed.ac.uk
Fri Jan 12 00:11:01 CET 2007
Benedikt Meurer wrote:
> Stanislav Brabec wrote:
>
>>>>> BTW: I fail to see the problem here. How often do people regenerate
>>>>> thumbnails that +1 or 2 seconds for 40 JPEGs makes a difference?
>>>>>
>>>> It's important because it gives an impression of slowness and
>>>> unresponsiveness. And you rarely generate them, but you import pictures
>>>> from digital cameras rather often.
>>>>
>>> Here the I/O is definitely the limiting factor from my experience.
>>> Accessing data on digital cameras is very slow with the models I've tested.
>>>
>> No, for digital cameras the limiting factor is the stupidity of the
>> thumbnailer.
>>
>> Small jpeg-EXIF-embedded thumbnail is most often stored in first few
>> blocks of the image. You can create thumbnail much faster than you can
>> load the image.
>>
>> Mid-size jpeg thumbnail (typically 640x480) is typically stored in last
>> few blocks of the image and you need only few additional seeks to find
>> exact start point. You can again create thumbnail faster than to load
>> image.
>>
>> You can try to compare my dcraw-thumbnailer with Nautilus jpeg
>> thumbnailer to see the difference:
>> http://www.penguin.cz/~utx/gnome-dcraw
>> Note that this page also contain "classical" thumbnailer, which reads
>> the whole file and scales it down by its own.
>>
>
> Can we perhaps use this trick for the dcraw thumbnailer? Jens/Erlend?
Well, I don't really know what the trick is... I've looked at the page
(http://www.penguin.cz/~utx/gnome-dcraw) and I think it must be for an
older version of dcraw, since
1. dcparse doesn't seem to output a thumbnail - just the metadata about
the raw format, and
2. they seem to use "dcraw -h -w rawfile" to produce a thumbnail -
that's extremely slow (3-4 seconds) for thumbnail creation.
The option -e option to dcraw extracts just the thumbnail from the raw
image (this was produced by the camera at the time the photo was
taken). This is extremely quick: 0.013 seconds. The problem is convert
taking ages to resize and change the image to png (take about a second
or more).
However, thunar-vfs-pixbuf-thumbnailer-1 is optimised for this purpose
(uses the jpg resizing trick mentioned on the xdg mailing list) and
takes just 0.1 seconds to convert the jpeg to a png - but I can't pipe
the output from dcraw into it. For this reason would it be possible to
add an option to thunar-vfs-pixbuf-thumbnailer-1 which enables it to
take the input image from stdin?
Erlend
More information about the Thunar-dev
mailing list