Patch that speed things up (brain dump)
Patrick Julien
freak at codepimps.org
Fri Feb 27 13:27:51 CET 2004
Before you do this, what Krita really needs is to use X shared memory when
it's on a local display.
If you consider that it's still not using Xsm, I don't consider Krita slow,
no.
On February 27, 2004 07:26 am, Boudewijn Rempt wrote:
> On Friday 27 February 2004 12:43, Roger Larsson wrote:
> > This patch speeds things up enough for most brushes (even the paprika).
> >
> > It is really a multi part...
> > 1) An attempt to speed up drawing itself (not finished, has bugs)
> > Guess why I started to look into other image libraries :-)
> >
> :-). I haven't found any library that's as versatile as we want Krita's
> : design
>
> to be -- so we'll have to roll our own, I fear. I think we're near the
> moment when it would be wise to do some actual profiling to check where the
> worst bottlenecks are, currenlty.
>
> > 2) Rethink of m_dirtyRect and screen redraws
> > let m_dirtyRect accumulate changes!
> > notify on:
> > a) mouse release
> > b) timeout (kis_notify_limit [ms])
> > The timeout is global to simplify modifications.
> > kis_notify_limit = 0 gives you back the current behaviour.
> > kis_notify_limit = 10 gives about one update per monitor refresh
> > (100Hz). kis_notify_limit = 50 X is no longer the problem - krita/brushes
> > are.
>
> It looks pretty interesting: I have been thinking about the timed notify
> lately, too. I think it would be pretty cool to absolve all tools and
> drawing code from the obligation to notify, and put the timer in KisView,
> and store the dirty rect in KisImage. Then whenever the timer fires, the
> view can be repainted, possibly in another thread so drawing operations are
> not disrupted -- you'd need to synchronize on tiles, of course, but I think
> it would give both a speed-up and a better design.
More information about the kimageshop
mailing list