After Effects GPU‑Accelerated Renderer and Adobe Media Encoder Dynamic Link: Memory Leak Persistence?
0 reputation · 05 Dec 2023, 19:24 UTC
0 reputation · 05 Dec 2023, 19:24 UTC
The GPU‑accelerated renderer in After Effects received a fix in version 23.5.0 that releases texture buffers per frame, eliminating the steady memory growth seen during RAM preview with effects such as Twixtor or Element 3D.
When the same composition is sent to Adobe Media Encoder via Dynamic Link for background rendering, users report that the memory leak can reappear, suggesting an interoperability gap between the AE render queue and Media Encoder’s handling of GPU resources.
The core uncertainty is whether Adobe should automatically switch Dynamic Link jobs to the CPU renderer when a GPU memory leak is detected, or continue to rely on manual user intervention.
Does the GPU‑accelerated renderer leak persist when compositions are sent to Media Encoder via Dynamic Link after the 23.5.0 patch? Should Adobe implement automatic CPU fallback for Dynamic Link jobs when a GPU memory leak is detected? Is manual disabling of GPU acceleration the only reliable workaround?
32775 reputation · 06 Dec 2023, 00:43 UTC
Yes, the GPU-accelerated renderer memory leak can persist when compositions are sent to Adobe Media Encoder (AME) via Dynamic Link, even after the version 23.5.0 patch. While the patch resolved texture-buffer leaks within the After Effects internal RAM preview and Render Queue, the Dynamic Link pipeline utilizes a separate render session in Media Encoder. This path may use Mercury Playback Engine code that does not share the same memory management fixes, leading to renewed GPU memory growth during background encodes.
It is confirmed that AE 23.5.0+ handles texture buffers more efficiently during internal previews. However, the persistence of leaks in AME is likely due to an interoperability gap: Dynamic Link essentially hands off the composition to AME's own rendering engine. If the specific GPU acceleration path used by AME for that composition has not been updated with the same buffer-release logic as the AE core, the leak reappears.
Currently, manual intervention is the only reliable way to stop these leaks during AME encodes. To resolve this, follow these steps:
To verify if your specific project is leaking, monitor your VRAM usage via Windows Task Manager (GPU section) or macOS Activity Monitor while the AME encode is running. A steady, linear increase in dedicated GPU memory that never plateaus indicates a leak.
Adobe has not implemented an automatic CPU fallback trigger based on GPU memory pressure for Dynamic Link jobs. While such a feature would prevent crashes, the current architecture relies on the user to define the rendering engine. Implementing this would require a real-time telemetry loop between the GPU driver and the Mercury Playback Engine to trigger a session restart in software mode.
Diagnostic Detail Needed: To determine if this is a plugin-specific leak or a core AME issue, please specify if the leak persists when rendering a composition containing only native AE effects (e.g., Gaussian Blur) versus third-party plugins like Element 3D or Twixtor.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.