QPainter (aka non-OpenGL) based canvas

Boudewijn Rempt boud at valdyas.org
Sat Nov 10 11:41:10 CET 2007

On Saturday 10 November 2007, Cyrille Berger wrote:
> Hello,
> I have commited two fixes today for the QPainter canvas. And now, we need
> to do testing on it. We have two kinds of tests to do :
>  * performance on all sort of hardware
>  * beauty , we need to ensure that for all level of zoom we use the best
> looking algorithm
> There are some option in Krita2's settings, it's Boudewijn the expert on
> them, but there is one you should remove it's in the performance tab,
> uncheck "Update whole canvas". On a side note, those options won't be
> shipped with the final release, but the goal is to use the next alpha to
> collect some user input, especially on the performance, a slow QPainter
> canvas is a showstopper. But first we must check that it works for
> developers :)

Nice work! I think the various options and paths we can play with are quite 
clearly named in KisConfig and KisPrescaledProjection. They are just for us 
to determine what looks and works best.

There are also two todo's that could give nice results:

* KisProjection:;setRegionOfInterest: if a canvas (qpainter or opengl) sets 
this on KisProjection, dirty areas around the roi are deferred in the 
composition queue. I should add a signal that says the recomposition queue is 
empty so we can update the bird's eyeview docker to use that.

* There are two options in KisPrescaledProjection: cache the entire unzoomed 
image as a QImage and composite from there, or don't cache and 
nearest-neighbour get the pixels from the KisImage (like it was in 1.6). The 
latter gives bad results with lineart < 100%; the former takes a lot of 
memory. I think we should have a class analogous to the opengl texture 
manager that tiles the whole image in color corrected qimages. At this level, 
a pyramid could be useful, too.

Oh, and I've got the intuos tablet working with the Gimp, but not with 
Krita... Qt doesn't support tablet input devices with other names 
than "eraser" and "stylus", much like Krita 1.6.

Boudewijn Rempt 

More information about the kimageshop mailing list