A small report on what hotspots we have in Krita

Boudewijn Rempt boud at valdyas.org
Tue Oct 9 09:29:24 UTC 2012


On Tue, 9 Oct 2012, Dmitry Kazakov wrote:

> Hi!
> 
> I've just done a small vtune benchmark of Krita.

Nice!

> Here is a small report of what
> we spend out painting time on:
> 
> Benchmark configuration:
> 
> 1) 400px Auto Brush on a 4000x2000 RGB8 image. Painting with a tablet.
> 2) Indirect Painting Support is active.
> 3) Vc is active (Sandy Bridge)
> 4) Cache is active (Precision Level 4)
> 
> The summary:
> 
> PaintOp code:
> -+--paintAt--bltFixed
>  |  (Alpha Darken)-----------------25.4%
>  |
>  +--generation of a dab,
>  |  counting the cache, but
>  |  not counting processing
>  |  the mask in threads------------10.9%
>  |
>  +--processing the dab mask
>     with MaskProcessor--------------9.6%
> 
> Merger code:
> -+--handling indirect painting
>  |  (Alpha Darken)-----------------14.4%
>  |
>  +--transferring data to the UI-----1.5%
>  |
>  +--loading the data to an OpenGL
>  |  texture (glTexSubImage2D)------11.2%
>  |
>  +--painting the texture on screen
>     (paintEvent code)---------------2.8%
> 
> 
> The short conclusion: we spend 40% of the time on compositioning and about 20%
> of time on brush generation.
>

Of course, we'll always be spending 100% of time at all times, but it's 
pretty impressive that we've more or less reversed the proportion of mask 
generation to composition. I guess that optimizing the composite ops, with 
alpha darken in the first place should be next.

>From these results, I would guess that you only tested on a single layer 
image, right?

Boudewijn


More information about the kimageshop mailing list