Copy link to clipboard
Copied
Why does exporting using AfterEffects' render queue use so much memory?
When exporting via AME, memory is properly freed, but when using Ae's render queue, memory is used inexhaustibly, as it is during preview playback.
This is undesirable behavior.
My guess is that the frames are stored in memory, just as they are during preview playback.
However, since the user opens the exported file, there is no need for the frames to remain in memory.
Why is this designed this way?
Are there any plans to improve it?
Understood, and I've experienced the same thing myself, but I'm not sure anything anything can or will be done about this as it might simply be a factor of the incredibly complex stuff going on under the hood with rendering in AE. That being said, a feature request is always worth posting. If you create a new post tagged as an "Idea" instead of a discussion, list out your proposition in clear steps with what the current behavior is and what you would like to see happen, and see if it gets tracti
...Copy link to clipboard
Copied
Who's to say the user doesn't need those frames to remain in memory? Just because you sent something to the Render Queue doesn't mean you're completely done with the project. Frames are stored in cache once rendered until you empty the cache or it empties itself. This is a key part of how AE works.
Copy link to clipboard
Copied
If the user uses a render queue to export, what is its purpose?
Proxy? Preview? To deliver to a client?
In all of these cases, the user should use the exported file, and is unlikely to use the cache left in memory.
If the cache is needed for some special reason, it would be better to create a disk cache, and there seems to be no need to go to the trouble of consuming a large amount of memory.
It seems to me that the disadvantage of longer write times is greater than the advantage of having a cache of frames remaining in memory.
Of course, just because something is added to the render queue, there is no need to clear the cache left in memory at that point.
I see no need for rendered frames to be left in memory during an export using the render queue.
I am using machine translation and apologize if my intent was not conveyed correctly.
Thanks.
Copy link to clipboard
Copied
Any of those reasons, I just meant that using the Render Queue doesn't mean that you're not going back to your timeline. You could be exporting a pre-render, a full-rez section for realtime preview, updating a comp in a Premiere sequence. I render things all the time and continue to work in my project after. I would never want my cache cleared just because I used the Render Queue.
AE does have a disk cache and you can customize the size of it. Frames are cached to RAM because it's significantly faster than disks, but when you make a change that forces the frames in RAM to update, the previous cache gets dumped to disk. This is what the blue cache bar represents, and it's why you can hit undo and have frames still be cached. It's also why you can restart AE or your computer, open a project and see a blue bar that starts to turn green—because frames are moving from the disk cache back to RAM.
Copy link to clipboard
Copied
I’m not advocating for the cache to be cleared every time the render queue is utilized. My contention is about the necessity of intentionally retaining in memory the frames generated by renderings initiated from the render queue. Whether it’s for proxies, pre-renders, or final delivery, the utilized output is the exported file, not the frames left in memory.
As the export progresses, memory usage increases, and in my setup, it surpasses 90% at some point. Although no further increase in memory usage is observed in subsequent renderings, rendering under high memory usage conditions becomes significantly slower due to factors such as the employment of virtual memory.
My proposition is that if memory were properly released, it should be possible to further reduce the export time.
Copy link to clipboard
Copied
Understood, and I've experienced the same thing myself, but I'm not sure anything anything can or will be done about this as it might simply be a factor of the incredibly complex stuff going on under the hood with rendering in AE. That being said, a feature request is always worth posting. If you create a new post tagged as an "Idea" instead of a discussion, list out your proposition in clear steps with what the current behavior is and what you would like to see happen, and see if it gets traction within the community.
Copy link to clipboard
Copied
I'll try to post it on "Idea" as well. Thanks.