[Digikam-devel] Speed of new filters

Gilles Caulier caulier.gilles at gmail.com
Sat Feb 13 13:32:36 GMT 2010


The solution is to pass a downscaled version here :

http://lxr.kde.org/source/extragear/graphics/digikam/utilities/imageeditor/widgets/imageregionwidget.cpp#84

as 1/4 size is the usual way:


Dimg* img = d->iface->getOriginalImg();
d->image = img->copy().smoothScale(img->with()/4, img->height()/4,
Qt::KeepAspectRatio)

The problem now is about zoom and 1:1 level which is now 100% zoom of
course. Some code need to be added in EditorToolsIface to adapt zoom
tools from status bar.

But in theory, it must work as well, especially to test speed. Let's
me hear if 1/4 version is fine.

Gilles

2010/2/13 Julien Narboux <jnarboux at narboux.fr>:
> Gilles Caulier a écrit :
>> 2010/2/13 Julien Narboux <jnarboux at narboux.fr>:
>>
>>> Gilles,
>>>
>>> Did you notice the speed of the new threaded filters (hsl for instance)
>>> ? it seems to me that they are far slower than they used to be.
>>> Did the old implementation computed the preview on the downscaled
>>> version of the picture ?
>>>
>>
>> yes, it is. This is relevant of imageguidewidget to imageregionwidget
>> port. If you fit to window preview with imageregionwidget as
>> imageguidewidget do, you compute on whole image.
>>
>> Imageguidewidget use a downscaled version of preview, in fact the
>> screen size of widget. This is why it's very fast. But of course
>> zoom/pan is not possible here.
>>
>> Note : with imageregionwidget, the computation is done on visible
>> preview area, not always on whole image. If you zoom down on, the
>> computation will be done on visible part of image. In this case it's
>> fast
>
> Ok Gilles I understand why it is slower.
> It would be nice if imageregionwidget had an option such that the
> preview is computed on the visible image (the downscaled version).
> Indeed for many filter f, downscale (f (image) ) ~= f (downscale (image)).
> I think this would work for all filters which operate locally on pixels.
> I did it "by hand" for the vignetting effect but it would be better to
> factorize that in the imageregionwidget.
>
>
> Julien
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>



More information about the Digikam-devel mailing list