Jump to content

Memory leak when rendering animations?


Recommended Posts

I am currently doing a 80 second animation of a rather complex model. I have noticed, that for every frame, that is completed, rendering takes longer. I started out with an estimate of 36 hours in the 'Time remaining' field. That was 3 days ago. I have now rendered 900 of 1200 frames and the 'Time remaining, estimate is currently 44 hours.

Since there is no easy way to cut the animation into smaller segments to be rendered individually, I have decided to wait it out...

In the activity Monitor provided by Apple, I can see, that VW seems to be drawing heavily on virtual memory. ( I have only 1 GB on the machine doing the job)

Is this a case of 'memory leak'? I have heard the term, but don't know the exact meaning of it.

Has anyone found a good way to divide animations into several jobs - and get a seamless result?

For the wishlist: I would like the functionality of the animation function to be given a workover. And I would like to be able to include animations into a batch rendering joblist.

Link to comment

quote:

Originally posted by Kaare Baekgaard:

I am currently doing a 80 second animation of a rather complex model. I have noticed, that for every frame, that is completed, rendering takes longer. I started out with an estimate of 36 hours in the 'Time remaining' field. That was 3 days ago. I have now rendered 900 of 1200 frames and the 'Time remaining, estimate is currently 44 hours.

In my experience, RW's rendering time estimate is less than worthless.

quote:

Has anyone found a good way to divide animations into several jobs - and get a seamless result?

Check out the AnimationWorks plug-in by Julian Carr.

If you regularly do RW animations and haven't checked out AnimationWorks, you really owe it to yourself to take a look at it. Not only will it save you significant time (and headaches) in setting up the animation, it can DRAMATICALLY reduce the rendering time, thanks to the ability to show and hide classes dynamically. I recently completed a 5-minute walkthrough of a church building that has 750 theater seats in the sanctuary. By "turning off" the visibility for the seats during the portions of the walkthrough where they would not have been visible in the scene (roughly 2:50), the rendering time was reduced from 73+ hours to just under 41 hours. (I rendered it without turning off class visibility over the Christmas break just to see how long it would take.)

The other compelling feature of AnimationWorks is that once you've set up the animation path (which is a 3-d polyline, so it's easy to edit if you need to make changes to the path), you can divide the render into increments and render (or re-render) only the portions you need to. Here's the dialog box for AnimationWorks:

-

This gives you the option of doing the render in pieces over several nights or dividing up a render between several computers and stiching the pieces together in QT Pro/iMovie/whatever video editing program you use. It also means that if you need to re-render a segment, you can do just that piece instead of having to do the whole thing.

In the 5-minute walkthrough I referred to above, five French doors along a concourse (which were all open in the original render) were changed to picture windows. Instead of rendering the whole thing again, I used AnimationWorks to render just the 14-seconds of the walkthrough where the windows were visible (plus 1 sec. on either side as a transition), then replaced the footage in QuickTime Pro.

[DISCLOSURE: I do not work for OzCAD or Julian Carr, and I am not compensated in any way for my recommendation.]

Link to comment

Thanks for the tips, Mclaugh. Actually I have Animationworks - though I have never used it with the refinements, you describe - showing and hiding objects as you go along.

The project was created with VW12 and AnimationWorks hasn't been updated to version 12 yet. I tried the 'export to VW11' , but it produced problems with disappearing solids.

In retrospect, doing the animation in 12 was a bad call. But now it has finished, and it is pretty nice.

One thing I get with VW's own animation tool, that I havent found in AnimationWorks is good 'ease in/ease out control.

Link to comment

quote:

Originally posted by Kaare Baekgaard:

One thing I get with VW's own animation tool, that I havent found in AnimationWorks is good 'ease in/ease out control.

Not exactly sure what you mean by "ease in/ease out control." If you mean transitions (fades, dissolves, wipes, etc.) into/out of/between clips, I usually do those in post-production rather than at the rendering stage, because I find I get a lot more precise control over effects in Final Cut Pro, or even iMovie, than I could get in RW. For a transition, I typically create a 1-2 second overlap between clips, align the overlapping frames in Final Cut Pro, and fade/dissolve between them.

Link to comment

Kaare it is possible that your rendering was encountering more and more geometry/materials as it proceeded into the animation. I have watched the progress bar on a few 13 hour renderings and it seems to rise and fall in direct relationship to the complexity of the scene. At times it slows to a crawl as I know it is in a place within the animation where the camera is pointing up at 100 or so small beams. At this point the time left in the rendering starts to grow at an alarming rate as the computer starts to average these new frames in, but after it passes that place in the animation the time begins to shrink. This is on 11.5, I have not tried a long animation in 12 however.-Brendan

Link to comment

OBTW, in regard to the question of memory leaking, memory leaking occurs when a program fails to discard data once it's done with it. (See the Wikipedia entry for more detail.)

I haven't logged memory usage during renders, but it would not surprise me if RW is leaking memory since, several NNA employees have posted that VW is written in C and C++, which are both NOTORIOUS memory leakers.

Link to comment

You may be right, JBC - the rendering did speed up at the last frames where geometry was less complex.

Mclaugh, ease in/out is equivalent to accelleration / deceleration. In Animationworks I get very abrupt transitions between standstill and full speed in camera motion. In VW's own animation module, I can make gradual camera speed transitions.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...