Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Parallel rendering

Parallel rendering

Posting this here, since there is no Arnold ideas tab.

In the last semester I participated in a project that required rendering of more than 3000 frames for short animated movie.
I was responsible for creating one of the scenes from scratch and rendering it (modeling, sculpting, texturing, lighting, simulations and others)
All this involved regular rendering and iterations, which I did in Maya and Arnold. As you can imagine, the whole lot of rendering is incredibly frustrating, since when rendering in the normal way, through the interface, will take up all of my PCs resources I there is nothing else I can do, besides sit and wait for the rendering to complete.
This prompted me to look for ways to speed it all up and save myself some time. Soon after I discovered command line rendering and dived into it.
Fast forward, after doing some research, I wrote a PowerShell script, with the help of which, in just s few clicks, one can set up a rendering job, without even opening Maya, and providing the ability to use less CPU resources, so one can do other work in the meantime. All this is not big deal of course, but here is why I'm writing all this:

In the project I mentioned above, there was a setup, involving millions of standins that had to be displayed. This led to more than 30 seconds render initialization, which multiplied by hundreds of frames, added to the actual rendering time. Since initialization is single-threaded process, this meant that each frame had to be initialized on a single thread for 30 seconds, before it is actually rendered. Then I discovered a video of someone doing rendering via command line each frame by step, starting multiple renderings at the time occurred to me, that this way I will be able to save a lot of initialization time. So I wrote a PowerShell script, that starts multiple rendering processes (via the command line), as many as number of threads available in the processor, which led to significant reduction time needed to complete the rendering. I have ran multiple tests, with different configuration and different scenes, and in all occasions, where there is significant or even not that significant initialization time, the rendering will complete faster than the regular frame by frame rendering (if the initialization time is 0, then frame by frame rendering will be faster). In other words, parallel rendering is a lot more efficient, when the scenes are heavy.

But since my knowledge is relatively limited, I keep doubting the results and it is not 100% clear to me why I observe these results.

My question is: is there a reason parallel rendering has not been implemented in Arnold yet? Why is this a bad idea, if at all?

1 Comment
phibonacciSequence
Enthusiast

Consider posting this on their forums:

https://answers.arnoldrenderer.com/index.html

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report