Review Request: The dab cache for Krita

Dmitry Kazakov dimula73 at gmail.com
Fri Oct 5 12:29:57 BST 2012



> On Oct. 5, 2012, 9:16 a.m., Lukáš Tvrdý wrote:
> > krita/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp, line 187
> > <http://git.reviewboard.kde.org/r/106724/diff/1/?file=88422#file88422line187>
> >
> >     Where is this code now?

This is now done in KisDabCache::postProcessDab


> On Oct. 5, 2012, 9:16 a.m., Lukáš Tvrdý wrote:
> > krita/plugins/paintops/libpaintop/kis_dab_cache.h, line 67
> > <http://git.reviewboard.kde.org/r/106724/diff/1/?file=88432#file88432line67>
> >
> >     Documentation, please. At least for every public method.

Yeah, I'll do it in the next version of the patch, when the bug 307588 is fixed.


- Dmitry


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106724/#review19953
-----------------------------------------------------------


On Oct. 4, 2012, 2:30 p.m., Dmitry Kazakov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106724/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2012, 2:30 p.m.)
> 
> 
> Review request for Calligra and Lukáš Tvrdý.
> 
> 
> Description
> -------
> 
> Hi!
> 
> This patch adds caching of the dabs to the paint op system of Krita. Such cache makes the execution of the benchmarks up to 2 times faster. Subjectively, the real painting becomes much faster, especially with huge brushes.
> 
> Of course, such caching makes the painting a bit less precise: we need to tolerate subpixel differences to allow the cache to work. Sometimes small difference in the size of a dab can also be acceptable. That is why I introduced levels of precision. They are graded from 1 to 5: from the fastest and less precise to the slowest, but with the best quality. You can see the slider in the paintop settings dialog. The ToolTip text explains which features of the brush are sacrificed on each precision level.
> 
> The texturing and mirroring problems are solved.
> 
> My next steps are: make this cache tolerate bug 307588 and port it to other brush-based paitops.
> 
> 
> Diffs
> -----
> 
>   krita/image/kis_fixed_paint_device.h feeed0b 
>   krita/image/kis_fixed_paint_device.cpp 5ef55af 
>   krita/image/kis_painter.h 25a11c9 
>   krita/image/kis_painter.cc bec3776 
>   krita/plugins/paintops/defaultpaintops/brush/kis_brushop.h 1b545ef 
>   krita/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp 177fa7e 
>   krita/plugins/paintops/defaultpaintops/brush/kis_brushop_settings_widget.cpp cbd6667 
>   krita/plugins/paintops/libpaintop/CMakeLists.txt bd1b021 
>   krita/plugins/paintops/libpaintop/forms/wdgbrushchooser.ui b19828f 
>   krita/plugins/paintops/libpaintop/kis_brush_based_paintop_options_widget.h 734df21 
>   krita/plugins/paintops/libpaintop/kis_brush_based_paintop_options_widget.cpp 51cc2d2 
>   krita/plugins/paintops/libpaintop/kis_brush_option_widget.h cf426cb 
>   krita/plugins/paintops/libpaintop/kis_brush_option_widget.cpp c0e171e 
>   krita/plugins/paintops/libpaintop/kis_brush_selection_widget.h d25729f 
>   krita/plugins/paintops/libpaintop/kis_brush_selection_widget.cpp e0bedd8 
>   krita/plugins/paintops/libpaintop/kis_dab_cache.h PRE-CREATION 
>   krita/plugins/paintops/libpaintop/kis_dab_cache.cpp PRE-CREATION 
>   krita/plugins/paintops/libpaintop/kis_precision_option.h PRE-CREATION 
>   krita/plugins/paintops/libpaintop/kis_precision_option.cpp PRE-CREATION 
>   krita/plugins/paintops/libpaintop/kis_pressure_sharpness_option.h 8281da4 
>   krita/plugins/paintops/libpaintop/kis_pressure_sharpness_option.cpp 6157e5e 
> 
> Diff: http://git.reviewboard.kde.org/r/106724/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dmitry Kazakov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20121005/2892ffee/attachment.htm>


More information about the calligra-devel mailing list