Performance enhancement
Sven Langkamp
longamp at reallygood.de
Mon Feb 7 04:01:32 CET 2005
On Saturday 05 February 2005 22:59, Boudewijn Rempt wrote:
> On Sat, 5 Feb 2005, Casper Boemann wrote:
> > On Saturday 05 February 2005 21:45, Michael Thaler wrote:
> > > Hi,
> > >
> > > just in case noone noticed, I posted both the results of the
> > > performance test from Krita from today and from before the merge in my
> > > last mail,
> >
> > I did
> >
> > The reason I wrote what I did, was because I wrote the mail much ealier
> > today - I just wasn't on a network until after you send yours so our
> > mails crossed.
> >
> > looks like we'll have to find more improvement. It's difficult however
> > because we wan't to keep datamanager and colorstrategy separated. And we
> > also want to hide tiles within the datamanager.
>
> I guess we can define the problem as:
>
> find the longest consecutive array of bytes that can be pointed to, instead
> of copied, and feed that to the composite algorithms.
>
> with the complication that:
>
> you need to match two arrays as to their exact co-occurrence, pixel-wise.
>
> Now, here we only have a problem at the boundary tiles; the center tiles
> are, by definition, matched.
>
> A complication is that most of the Krita blits are of the size of a square
> around the brush, which seldom covers more than four tiles. Which means
> that optimizing bitBlts by cobbling tiles won't help much in practice.
It's not only the blitting, before blit the brush the brushop has to
recalculate mask and interpolation. That takes even more time than the
billiting itself.
> In the end, it appears that paint apps belong, after all, to the class of
> interesting problems :-).
Not so interesting, if you have to use assembly code in the end.
More information about the kimageshop
mailing list