https://bugs.kde.org/show_bug.cgi?id=407062

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/kde/ |https://invent.kde.org/kde/
                   |krita/commit/7e80b852e5b341 |krita/commit/0d6b2a86082f90
                   |77a74afea39bc4d657afd9d7fd  |705a6c05ab71babf03ca2cb544
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #11 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 30796fcab77c73d94035dd287dbc75a2cc99f913 by Dmitry Kazakov.
Committed on 07/05/2019 at 20:14.
Pushed by dkazakov into branch 'master'.

Fix application of Gaussian Blur with FFTW (about 30% faster)

The patch fixes a slowdown we introduced when implemented
two-stage gaussian convolution application. This two-stage
approach is good for spacial convolution algorithm, but it
is no good for FFTW one. Because every kernel (even one-
dimensional) should be first split into 2D-wave-plane, which is
extremely slow.

M  +10   -0    libs/image/kis_convolution_painter.cc
M  +11   -7    libs/image/kis_convolution_painter.h
M  +27   -1    libs/image/kis_gaussian_kernel.cpp
M  +3    -0    libs/image/kis_gaussian_kernel.h

https://invent.kde.org/kde/krita/commit/30796fcab77c73d94035dd287dbc75a2cc99f913

--- Comment #12 from Dmitry Kazakov <dimul...@gmail.com> ---
Git commit 0d6b2a86082f90705a6c05ab71babf03ca2cb544 by Dmitry Kazakov.
Committed on 07/05/2019 at 20:14.
Pushed by dkazakov into branch 'master'.

Limit Gaussian Blur filter radius to 100px when used as a mask

When used as a mask, Krita should recalculate additional
need/changeRect of the processed area of size:
actualSize + 4 * radius, which is too much of work.

In older version of Krita the test file loaded fine, because
colorize mask did update itself on loading and didn't provoke
full mask update. If you provoke full gaussian mask update
manually, you'll get the same 12-minutes recalculation process
(and it cannot run in threads, because access rects intersect
heavily).

The patch does the following:

1) When loading filter masks and filter layers: forcefully
   (and silently) limit gaussian blur size to 100 px.

2) When creating filter masks and filter layers, limit radius
   slider to 100 px.

3) When changing properties of Gaussian Blur mask, limit the
   radius slider to 100 px.

4) When applying Gaussian Blur filter directly, allow the user
   to select radius in full range: 0...1000 px

M  +11   -0    libs/image/filter/kis_filter.cc
M  +3    -0    libs/image/filter/kis_filter.h
M  +1    -1    libs/image/kis_base_processor.cpp
M  +3    -1    libs/image/kis_base_processor.h
M  +1    -1    libs/image/kis_node_filter_interface.cpp
M  +1    -1   
libs/libqml/plugins/kritasketchplugin/models/FiltersCategoryModel.cpp
M  +2    -2    libs/libqml/plugins/kritasketchplugin/models/FiltersModel.cpp
M  +1    -1    libs/ui/dialogs/kis_dlg_adj_layer_props.cc
M  +4    -1    libs/ui/dialogs/kis_dlg_filter.cpp
M  +3    -1    libs/ui/widgets/kis_filter_selector_widget.cc
M  +1    -1    libs/ui/widgets/kis_wdg_generator.cpp
M  +1    -1    plugins/filters/asccdl/kis_asccdl_filter.cpp
M  +1    -1    plugins/filters/asccdl/kis_asccdl_filter.h
M  +1    -1    plugins/filters/blur/kis_blur_filter.cpp
M  +1    -1    plugins/filters/blur/kis_blur_filter.h
M  +27   -2    plugins/filters/blur/kis_gaussian_blur_filter.cpp
M  +4    -1    plugins/filters/blur/kis_gaussian_blur_filter.h
M  +1    -1    plugins/filters/blur/kis_lens_blur_filter.cpp
M  +1    -1    plugins/filters/blur/kis_lens_blur_filter.h
M  +1    -1    plugins/filters/blur/kis_motion_blur_filter.cpp
M  +1    -1    plugins/filters/blur/kis_motion_blur_filter.h
M  +5    -3    plugins/filters/blur/kis_wdg_gaussian_blur.cpp
M  +1    -1    plugins/filters/blur/kis_wdg_gaussian_blur.h
M  +1    -1    plugins/filters/colors/kis_color_to_alpha.cpp
M  +1    -1    plugins/filters/colors/kis_color_to_alpha.h
M  +1    -1    plugins/filters/colorsfilters/kis_color_balance_filter.cpp
M  +1    -1    plugins/filters/colorsfilters/kis_color_balance_filter.h
M  +1    -1    plugins/filters/colorsfilters/kis_cross_channel_filter.cpp
M  +1    -1    plugins/filters/colorsfilters/kis_cross_channel_filter.h
M  +1    -1    plugins/filters/colorsfilters/kis_desaturate_filter.cpp
M  +1    -1    plugins/filters/colorsfilters/kis_desaturate_filter.h
M  +1    -1    plugins/filters/colorsfilters/kis_hsv_adjustment_filter.cpp
M  +1    -1    plugins/filters/colorsfilters/kis_hsv_adjustment_filter.h
M  +1    -1    plugins/filters/colorsfilters/kis_perchannel_filter.cpp
M  +1    -1    plugins/filters/colorsfilters/kis_perchannel_filter.h
M  +1    -1   
plugins/filters/convertheightnormalmap/kis_convert_height_to_normal_map_filter.cpp
M  +1    -1   
plugins/filters/convertheightnormalmap/kis_convert_height_to_normal_map_filter.h
M  +1    -1    plugins/filters/dodgeburn/DodgeBurn.cpp
M  +1    -1    plugins/filters/dodgeburn/DodgeBurn.h
M  +1    -1    plugins/filters/edgedetection/kis_edge_detection_filter.cpp
M  +1    -1    plugins/filters/edgedetection/kis_edge_detection_filter.h
M  +1    -1    plugins/filters/embossfilter/kis_emboss_filter.cpp
M  +1    -1    plugins/filters/embossfilter/kis_emboss_filter.h
M  +1    -1    plugins/filters/fastcolortransfer/fastcolortransfer.cpp
M  +1    -1    plugins/filters/fastcolortransfer/fastcolortransfer.h
M  +1    -1    plugins/filters/gradientmap/krita_filter_gradient_map.cpp
M  +1    -1    plugins/filters/gradientmap/krita_filter_gradient_map.h
M  +1    -1    plugins/filters/halftone/kis_halftone_filter.cpp
M  +1    -1    plugins/filters/halftone/kis_halftone_filter.h
M  +1    -1    plugins/filters/imageenhancement/kis_simple_noise_reducer.cpp
M  +1    -1    plugins/filters/imageenhancement/kis_simple_noise_reducer.h
M  +1    -1    plugins/filters/imageenhancement/kis_wavelet_noise_reduction.cpp
M  +1    -1    plugins/filters/imageenhancement/kis_wavelet_noise_reduction.h
M  +1    -1    plugins/filters/indexcolors/indexcolors.cpp
M  +1    -1    plugins/filters/indexcolors/indexcolors.h
M  +1    -1    plugins/filters/levelfilter/kis_level_filter.cpp
M  +1    -1    plugins/filters/levelfilter/kis_level_filter.h
M  +1    -1    plugins/filters/noisefilter/noisefilter.cpp
M  +1    -1    plugins/filters/noisefilter/noisefilter.h
M  +1    -1    plugins/filters/oilpaintfilter/kis_oilpaint_filter.cpp
M  +1    -1    plugins/filters/oilpaintfilter/kis_oilpaint_filter.h
M  +1    -1    plugins/filters/phongbumpmap/kis_phong_bumpmap_filter.cpp
M  +1    -1    plugins/filters/phongbumpmap/kis_phong_bumpmap_filter.h
M  +1    -1    plugins/filters/pixelizefilter/kis_pixelize_filter.cpp
M  +1    -1    plugins/filters/pixelizefilter/kis_pixelize_filter.h
M  +1    -1    plugins/filters/posterize/posterize.cpp
M  +1    -1    plugins/filters/posterize/posterize.h
M  +1    -1    plugins/filters/raindropsfilter/kis_raindrops_filter.cpp
M  +1    -1    plugins/filters/raindropsfilter/kis_raindrops_filter.h
M  +1    -1    plugins/filters/randompickfilter/randompickfilter.cpp
M  +1    -1    plugins/filters/randompickfilter/randompickfilter.h
M  +1    -1    plugins/filters/roundcorners/kis_round_corners_filter.cpp
M  +1    -1    plugins/filters/roundcorners/kis_round_corners_filter.h
M  +1    -1    plugins/filters/smalltilesfilter/kis_small_tiles_filter.cpp
M  +1    -1    plugins/filters/smalltilesfilter/kis_small_tiles_filter.h
M  +1    -1    plugins/filters/threshold/threshold.cpp
M  +1    -1    plugins/filters/threshold/threshold.h
M  +1    -1    plugins/filters/unsharp/kis_unsharp_filter.cpp
M  +1    -1    plugins/filters/unsharp/kis_unsharp_filter.h
M  +1    -1    plugins/filters/wavefilter/wavefilter.cpp
M  +1    -1    plugins/filters/wavefilter/wavefilter.h
M  +1    -1    plugins/generators/pattern/patterngenerator.cpp
M  +1    -1    plugins/generators/pattern/patterngenerator.h
M  +1    -1    plugins/generators/simplexnoise/simplexnoisegenerator.cpp
M  +1    -1    plugins/generators/simplexnoise/simplexnoisegenerator.h
M  +1    -1    plugins/generators/solid/colorgenerator.cpp
M  +1    -1    plugins/generators/solid/colorgenerator.h
M  +18   -2    plugins/impex/libkra/kis_kra_load_visitor.cpp
M  +1    -0    plugins/impex/libkra/kis_kra_load_visitor.h
M  +1    -1    plugins/paintops/libpaintop/kis_filter_option.cpp

https://invent.kde.org/kde/krita/commit/0d6b2a86082f90705a6c05ab71babf03ca2cb544

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to