Hello,
I have been using the 1.0.6 library for a while now
and am curious about its memory usage. From what I can tell, one must allocate
an entire image buffer for any particular channel in order for
OutputFile::writePixels() to do its thing. A quick back-of-the-napkin
calculation suggests that if one is writing, say, 10 channels of HALF data
for a 2k frame, we're talking 60MB of RAM consumed. Why can't the data be
written row by row instead of an entire image buffer at once? There is such a
thing as fseek() after all. Could this at least be implemented as an
optional writing method? I realize that it would take longer to write to disk,
but sometimes its worth it to save on the RAM footprint required during
rendering.
Cheers,
- John
|