CinePaintDocumentation
- Display CMS
- by Stefan Klein
I got cms to a stage where I'll leave it for the moment. Basic
correcting in u8 can be done, you can select your profiles and
you can switch it on and off. Profile handling is still far from
efficient (especially memory-wise) and there's still a couple
of small oddities, since I haven't entirely figured out, yet,
when an images projection is recalculated (especially for flat
images). But for the moment, I will first try to experimentally
(for lack of equipment) generate profiles for my demonstration
at university and then improve on the details later.
I managed to improve a bit on the performance of cms by moving
the colour correction from the display code into the paint code
(an image is first painted/composed from its layers and then displayed/copied
onto screen). So colours get only corrected once when the image
is composed (on its projection canvas) not every time it is re-displayed
on the screen (every GDK_EXPOSE event). Before, even flipping
through the menus would be a slow process (re-displaying the area
that was covered by it), that's greatly improved, now.
I am not sure yet, though, whether it's good to transform the
actual gimage->projection (in fact, I think, it's NOT for a
couple of reasons), so I'll have to rethink that a little. And
there should be quite a lot more room for improvement in the rendering
code (e.g. there's not really any need to apply display filters
to the "real" full-sized image as captured in gimage->projection,
it would be a lot more efficient to only apply the filter to the
scaled-down version or the image extract that we see on the screen
- assuming that an image has normally a lot more pixels than fit
onto the screen. I don't have a good idea yet, though).
I started working on colour correction the day before yesterday.
I managed to paint a colour wheel and I think within the next
week I should get it to do some basic colour balance/white point
correction.
...
-- Wed,
11 Feb 2004 03:15:34 -0800 reply