NVVideoEffects / Maxine Upscale fully occupies my RTX GPU during video upscaling — expected behavior?

Hi,

I am integrating NVIDIA Video Effects / Maxine Upscale in a local video generation workflow.

My pipeline is roughly:

  1. Generate a native/base video with LTX 2.3
  2. Use NVIDIA VFX / NvVFX Upscale as a post-processing step
  3. Export the final video in 1080p / 2K / 4K

Hardware:

  • RTX 5090, 32 GB VRAM
  • Windows
  • Local workflow, no cloud rendering

The upscale itself works, but during the upscaling step the GPU seems almost fully occupied. It blocks the card for the rest of the workflow, even though the generation step is already finished.

My question is:

Is this expected behavior for NvVFX / Maxine Upscale?
Does the upscaler normally take exclusive or near-exclusive GPU resources while processing a video?

If yes, what is the recommended architecture?

For example:

  • run upscale only at final export time
  • keep a native/proxy video for editing and module-to-module processing
  • avoid upscaling every generated segment
  • upscale only the final assembled video

Also, is there any recommended way to:

  • reduce GPU pressure during upscaling
  • run the upscaler with lower priority
  • process in chunks
  • avoid blocking other CUDA workloads
  • share the GPU better with a video generation pipeline

I am trying to understand whether this is a normal design constraint of the NVIDIA upscaler, or if I am using it incorrectly.

Thanks.

Thanks a lot for taking the time to explain this — the point about treating upscale as a strict final-stage step makes total sense, and I’ll definitely structure my pipeline that way. Good to know the chunking won’t lower the actual GPU load too; that saves me from chasing the wrong lead.

In my specific case though, the issue is a bit different (and honestly pretty subtle): it’s not the load during processing that’s the problem — it’s that afterwards the GPU doesn’t drop back down to its idle P-state cleanly. Even with everything closed, it sits there drawing power instead of fully releasing. So it’s more of a “resources not being freed / clock not winding down” thing on my end than a scheduling/exclusivity issue.

Still, your reply was genuinely helpful and gave me a couple of things to rethink in how I order the steps. Really appreciate you sharing your experience — thanks again!