site_archiver@lists.apple.com Delivered-To: pro-apps-dev@lists.apple.com That's what I thought, at least regarding the SDK. steve On Mar 17, 2009, at 7:10 AM, Paul Schneider wrote: Hi Steve, - Paul On Mar 17, 2009, at 1:57 AM, Steve Christensen wrote: _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/site_archiver%40lists.ap... The more problematic thing for my case, though, is that FCP seems to be keeping plugin instances allocated permanently, even if a particular clip hasn't been touched anytime recently. FCP may do some periodic deallocation of less recently-used instances but I didn't see that happening. We've discussed the need for better communication with plugins: - howMuchMemoryAreYouUsing, -pleaseTossAnyCacheMemory, that kind of thing. Right now, there's nothing in the SDK in that area. For now, you'll have to manage memory yourself. One strategy might be to keep a static array of images around, that all instances of your plugin share. You can cap the size of the array to some reasonable size (5, 10, etc). That way, if a user adds multiple instances of your plugin that point to different images, you can toss the least-recently-used image as you add a new one. If the many instances of your plugin can share the same images, even better. That's probably the best thing to do until we allow better communication between plugins and hosts with regard to resource management. On the first call to renderOutput:... my plugin loads an external image file to use as part of its effect. Since render performance would outright suck if I loaded the image and then tossedit after rendering each frame, I keep the image in memory and dispose of it in the plugin's dealloc method. While doing some testing I noticed that instances of my plugin get created as it is associated with a clip but don't get deallocated until either the project containing the clip is closed or FCP quits. This suggests that if there are enough clips using my plugin, for example, then application memory could get tight. Based on my understanding of the FxPlug API, there doesn't appear to be a way to determine that rendering is really done, or at least the plugin won't be needed "soon." Does this mean I have to hope that a user doesn't overload FCP's memory and cause a crash? steve This email sent to site_archiver@lists.apple.com
participants (1)
-
Steve Christensen