[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