Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Little redesign

I've committed current codeset to sf. Not because a lot changed (i've been slacking), but because i plan to change the canvas concept a bit. Shouldn't be too hard but may affect already working methods.

Reason for this is that floating points are all nice, but very, and i mean very, memory consuming for larger images (like a 10 megapixel photograph).
Testing on a virtual machine proved insanely bad performance.
To keep the application multi-purpose, this memory issue must be addressed. The user can choose from various pixeldepths for internal canvas storage, weighing memory usage versus precision.
The intended formats are:
float (as originally) - 32 bpp
16-bit integer
12-bit integer
10-bit integer (2 bits per color increase at the cost of reduced alpha channel resolution)
8-bit byte - as most common image formats with alpha channel added. not immune for cumulative quantization errors so not recommended.

I intend to keep all operations universal, i.e. the format for effects to work on will be _float_. So, we sacrifice additional processor power for conversions for a (huge) memory gain. My guess is that performance wise it'll outgain previous versions, even at odd formats like 10 bit.

The good news here is, once implemented it allows for about any format with ease.

Posted by René Tegel 2010-09-17