So I see that there are new memory calls within the FxPlug API. Cool.
Can you guys at Apple comment on (a) whether I NEED to call these calls or it just helps if we do. I'm certainly willing to change our code since all our memory management is done internally if a very small localized area that all mem calls go through. But I'm curious if we need to. (b) if Motion sees that memory is running low when I request memory, does it try to release some internal caches and free up memory before failing and returning NULL? I guess my question is this: do the FxPlug alloc/free calls do more than just wrap around the generic alloc/free calls, or are they tied to memory management within the Motion app underpinnings of mem management? (c) Since I don't really understand the internal workings of FCP with respect to Motion-wrapped effect templates, if I try to allocate some memory in my plugin and there is not enough memory, does FCP get a chance to catch this and free up some internal FCP memory before returning NULL and failing, or is all the memory management localized to Motion workings inside of FCP… I ask this since FCP is using the Motion engine and don't quite understand how much FCP is able to work closely with the Motion engine.
I ask these questions, because we hit lots and lots of out-of-memory conditions in our plugins in FCP 6/7. (It would usefule if the help docs started incorporating answers to these types of questions within the API docs…)
Pete
|