Rendering to Picture Viewer re-initializes every frame

Rendering to Picture Viewer re-initializes every frame

aedan.d
Explorer Explorer
447 Views
6 Replies
Message 1 of 7

Rendering to Picture Viewer re-initializes every frame

aedan.d
Explorer
Explorer

Hello all,

I've been setting up my scene with the IPR render view and GPU render engine. Scrubbing through my timeline was super smooth, it only took about one second per frame to render. The first initialization took some time but once it was initialized, every new frame I went to in the timeline, almost instantly rendered (took about one second). Now, I am trying to render the sequence via "Render to Picture viewer" and I have noticed that now, the renderer initializes the render engine before rendering every single frame. This means that rendering one frame now takes about 45 seconds instead of 1 second. Is this a bug or the intended behavior? If it is intended, can anybody explain why? The IPR seems fine only initializing once, why does the main render need to do it for every new frame?

Thanks for any information on this matter! 🙂

0 Likes
448 Views
6 Replies
Replies (6)
Message 2 of 7

peter_horvath
Autodesk
Autodesk

Each frame in final render is rendered as a separate session by design, while the IPR is one single session.

 

What do you have in the scene that takes long to initialize? Is it a simulation, e.g. hair, particles, etc? Can you render a few frames with debug log enabled (see https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_for_cinema_4d_ci_diagnostics_ci_log_html) and share the log files? This long initialization can come from Cinema 4D preparing the scene (in case of a simulation) or Arnold, the log might help figuring out what's going on.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 3 of 7

aedan.d
Explorer
Explorer

Thanks for your reply! Can you explain why for the final render the design is to render each frame as its own session? What are the benefits of this? I’m genuinely curious. Seems you’d always loose render time, but I bet there’s benefits I’m missing. 
Sadly I’m away from my workstations for a few weeks so I cannot share any logs at this time but it was a scene with a high resolution terrain (1.6GB in size), a physical sky and an animated camera. There were no sims. 
I can share the logs as soon as I’m back home. 

0 Likes
Message 4 of 7

peter_horvath
Autodesk
Autodesk

IPR is an interactive session that is specifically designed for tracking scene modification and updating only the relevant parts of the scene between render calls. This tracking is not available in final frame renders, thus each frame is exported and rendered separately.

If it's a heavy geometry, you can save time by loading it via an Arnold Procedural, e.g. a USD procedural.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 5 of 7

aedan.d
Explorer
Explorer

I attached some logs for two versions of the render. First, I Re-rendered the test scene again, one frame took 59 seconds. In the second run I exported the big terrain mesh to a .ass file via Arnolds Scene Export function. it halved the render time but still took about 20 seconds to initialize the scene. The actual rendering only took about 10 seconds. Is there a way to optimize this further? Also, from a render engine standpoint, is it possible to integrate the functionality of the IPR renderer to only fetch necessary updates into the final frame renders?

Best regards,

Aedan

0 Likes
Message 6 of 7

peter_horvath
Autodesk
Autodesk

> Is there a way to optimize this further?

 

Looking at the log, the two time consuming parts are initializing the geometry and subdivision. I don't think it can be optimized further in the render engine. @lee_griggs  @Stephen.Blair Do you see anything else?

 

> is it possible to integrate the functionality of the IPR renderer to only fetch necessary updates into the final frame renders?

 

Unfortunately not, there's no connection between the frames in final render. They are basically interpreted as individual scenes.


// Peter Horvath
// C4DtoA developer
0 Likes
Message 7 of 7

Stephen.Blair
Community Manager
Community Manager

No, I don't see anything else to optimize. Unless you can reduce the amount of subdivision (gpu update time), or the size/complexity of the ass file (init time)



// Stephen Blair
// Arnold Renderer Support
0 Likes