Since as far back as I can remember, I've run into render issues when using a bunch of tracks with still graphics files on them for composites. Today is no exception, and I decided to spend a few hours running isolated-change tests. Although the problem *could* be pointed to graphics card drivers, since my graphics card is using dedicated RAM, I'm actually thinking there may be a bug in memory handling when data is handed off to graphics cards.
The scenario --
- rendering out 28 seconds of a 5-minute promo video. Using Sony AVC/MVC default Internet 1920x1080-30p template
- in that 28 seconds, there are about 25 tracks. 17 of those tracks contain transparent PNG files which are layered to create a composite montage. All PNGs are under 3MB, most significantly less; the largest image is 2200x2296. At various points, those graphics are animated.
- On 2 layers is the Vegas RAYS effect. One 1 layer is BorisFX's WAVE (it behaves more like a 3d wave than Vegas's native one)
The Problem -- When rendering, as observed via Windows Performance Monitor, memory continues to be consumed and never released, going up, and up and up. Once it hits around 82% Vegas terminates itself. Sarah Connors is nowhere to be found.
Some Tests and Troubleshooting
- T1 -- Dynamic RAM Preview = 600, AMD RX470 GPU helping with render -- crashed when Memory rose to 82%
- T2 -- Dynamic RAM Preview = 0. Completed render, but memory kept climbing up to 57% at the end. I'm fairly certain if this was a full-project render, memory would be totally consumed and it would crash. Also, saw annoying BorisFX message about "Initializing Mocha" when it crossed a clip which used BCC Remover; I've seen this happen before on occasion and it has slipped into final render. UGH.. wish I knew how to reliably avoid this.
Here's a sample of the composite region I've been rendering for the tests:
- T3 -- Same as T2, muted track with BCC Wave. Same results (growing RAM usage)
- T4 -- Same as T3, set Dynamic RAM Preview = 200, turned back on BCC Wave. Same results (growing RAM usage)
- T5 -- Same as T4, turned off all event FX. No Boris FX, no Rays. Same results (growing RAM usage)
- T6 -- Pref->Disabled GPU Rendering, DRAM @ 200 (restarted Vegas). Re-enabled event FX. RAM Stayed Constant at 29-30%! (got that annoying BorisFX Init message again when getting to BCC Remover
- I updated my AMD Radeon drivers to the latest version 20.1.1 and configured Radeon to "optimize for compute" (vs "graphics"). Reboot Windows just for shits and giggles. Re-enabled GPU rendering in Vegas (and restarted Vegas).
- T7 -- Rendered w/same config as T4 (everything on). Same results. Memory climbed to 57% during render. Performance Monitor shows GPU dedicated RAM only using 1.6 of 4GB, and shared GPU memory @ .1 of 16GB. GPU utilization remains under 7% during render as it has during all the above tests (except for T6 which used 0% GPU)
Based on my tests, it appears that any time the graphics card is used during this render, memory continues to be allocated and not released until it is exhausted. Because it's system RAM that's getting consumed and the video card is using its own dedicated RAM, my inclination is to believe that this is a Vegas memory handling error.
Essential Hardware/Software Config
Because I know y'all will ask:
- Vegas Pro 17 Build 387
- Core i7-7700K CPU @ 4.2GHz (4 cores, 8 logical processors)
- 32 GB RAM
- GPU -- Radeon RX470, 4 GB dedicated RAM. After updating driver, driver date is 1/9/2020, version 26,20,15011.5007
QUESTIONS
- Are there known issues with compositing still graphics that cause runaway RAM with GPU renders?
- What is the best way to handle/report/do-further-troubleshooting? Since I've had render problems on multiple computers over time when dealing with multi-track composites, I'd love to see if this can be tracked down and perhaps a long-outstanding bug that could be squashed!
NOTE: I've re-read through Nick H's "FAQ" on rendering issues