PackedImageDesc memory usage


Jeremy Selan <jeremy...@...>
 

I wouldn't be too concerned with it.

My expectation is that the image processing + getProcessor calls would dwarf by many orders of magnitude the PackedImageDesc allocation time.  But if you're curious and take timing numbers, please send them on to discuss.

Making a PackedImageDesc is basically calling new on a struct with a few members, once per scanline doesnt seem unreasonable.

-- Jeremy


On Fri, Dec 16, 2011 at 10:14 AM, Paul Miller <pa...@...> wrote:
I realized I'm creating and destroying a PackedImageDesc once per scanline. Rather than a simple wrapper around some image pointers this class allocates an implementation class. This got me thinking about extra memory overhead per scanline.

Ideally I'd process in batches but I have this down inside an OpenMP loop which makes it easy.

Should I be concerned about this? Would a lighter-weight version be out of order? I can't imagine the implementation details of such a wrapper being too volatile.


Paul Miller <pa...@...>
 

On 12/16/2011 12:20 PM, Jeremy Selan wrote:
I wouldn't be too concerned with it.

My expectation is that the image processing + getProcessor calls would
dwarf by many orders of magnitude the PackedImageDesc allocation time.
But if you're curious and take timing numbers, please send them on to
discuss.
Is getting the processor for a LOG->LINEAR CPU conversion generally pretty fast after the first one? ie. internally will OCIO cache this processor based on the current config, or is this something I should be doing on my end?


Jeremy Selan <jeremy...@...>
 

GetProcessor calls are moderately fast after the first time. They are currently not cached internal to OCIO, but internal caching is on my short list to add soon.  One getProcessor per software render is fine.  (One per scanline, probably not.)

-- Jeremy


On Fri, Dec 16, 2011 at 10:38 AM, Paul Miller <pa...@...> wrote:
On 12/16/2011 12:20 PM, Jeremy Selan wrote:
I wouldn't be too concerned with it.

My expectation is that the image processing + getProcessor calls would
dwarf by many orders of magnitude the PackedImageDesc allocation time.
 But if you're curious and take timing numbers, please send them on to
discuss.

Is getting the processor for a LOG->LINEAR CPU conversion generally pretty fast after the first one? ie. internally will OCIO cache this processor based on the current config, or is this something I should be doing on my end?