krita overview

Boudewijn Rempt boud at calcifer.valdyas.org
Mon Oct 13 14:08:08 CEST 2003


On Mon, 13 Oct 2003, Michael Thaler wrote:

> I think the whole point about the dirty bool is to mark a tile as
> modified if the tile is changed. If the screen is redrawn, only tiles
> which are actually modified are redrawn. Just think about a freehand
> tool that just sets a pixel. For every pixel, right now, all tiles
> have to be redrawn. Since this implies a conversion from a QImage to
> QPixmap which is supposed to be slow, it is really inefficient. If the
> dirty-bool is set probably and the code that actually renders the
> image to the screen, respects the dirty-bool of the tiles, it only
> renders one tile at one time in the case of the freehand tool. It is
> much more efficient (I wonder why a tile size of 64 x 64 is used here?
> It would probably be better to use 32 x 32 or 16 x 16 tiles because
> then, in the case of the freehand tool, less data has to be drawn to
> the screen and for other tools, the overhead of more tiles is not that
> big, isn't it?)
>

Well, I did experiment with that, and if you look at the kis_tool_test.cc
I sent you (I did attach that file, didn't I?), you'll see that I try to
invalidate only the rect that's painted. When I added that, instead of
invalidating the whole image, flicker decreased visibly, so I thought
repainting only part of the canvas was already supported.



More information about the kimageshop mailing list