[Digikam-devel] raw speed in gqview

Gilles Caulier caulier.gilles at kdemail.net
Wed Nov 8 08:38:17 GMT 2006


On Wednesday 08 November 2006 10:23, Arnd Baecker wrote:
> On Wed, 8 Nov 2006, Gilles Caulier wrote:
> > On Wednesday 08 November 2006 09:35, Arnd Baecker wrote:
> > > Hi,
> > >
> > > before using digikam I used gqview
> > > (http://gqview.sourceforge.net/) a lot.
> > > Recent versions have quite a few interesting features,
> > > in particular it can display the jpeg embedded in several
> > > camera raw image formats.
> > > It turns out that this is fast, i.e. noticeably faster than F3 in
> > > digikam. E.g. for EOS 350D .cr2 files it takes digikam
> > > a bit above 2s whereas gqview takes around 1s on my machine.
> > > Moreover, changing back and forth between two images is instantaneous
> > > (so obviously some caching is used for this.)
> >
> > This is the same way : dcraw extraction. In fact the method used by both
> > programs is the same.
>
> Looking at gqview's source:
> format_canon.c was a patch by D.M. German,
>   and a link to http://turingmachine.org/~dmg/libdcraw/gqview/
> is given.
> For format_fuji.c, format_nikon.c and format_raw.c
> it is stated that
> "Original version 2005 Lars Ellenberg, base on dcraw by David coffin."
>
> But since then it seems (at least according to the CVS history)
> no direct transfer of from David Coffins dcraw has happened.
> So this code-base has been developed separately from then on.
> (I.e.: if newer versions of dcraw are much slower than
> the one around 2005, this might explain also part of the speed difference)

Perhaps, but the last dcraw release support more RAW files preview extraction, 
ARW from Sony for example. For that i prefert used the dcraw extraction witch 
support all new RAW file format very quickly.

>
> > The diference can be explained like this :
> >
> > - digiKam use a kioslave, and this can be slowest than to use a direct
> > loading on the main app thread.
>
> So this could be the main reason for the approx. factor of
> 2 speed difference.
> Hmm, if this is true, another reason to go for the
> "libkdcraw" library you suggested?

yes, using a Qthread to unfrezze the GUI.

>
> > - digiKam use an embedded dcraw implemention witch is compiled with the
> > same option than digiKam. If you is in debug, dcraw will do it too.
>
> I just checked my installation log and all I find is "-O2",
> (in contrast, the gqview I compiled had:  "-g -O2")
>
> > - digiKam do not use a cache mecanism. This is the real problem than we
> > will fix in the future.
>
> That would indeed be great!

yes, and this will the first way to do.

>
> I think there was a B.K.O entry on this ...

yes, there is.

Gilles



More information about the Digikam-devel mailing list