Method to render image sequences via Deadline?

Discussion and Support of Deadline, the Render Management System
squeakybadger
Posts: 74
Joined: Tue Jul 28, 2009 9:50 am

Method to render image sequences via Deadline?

Postby squeakybadger » Tue Jun 20, 2017 12:06 pm

Hi,

I'm trying to think of a better way to get sequences working than what I have now.

We need to send sequences (10 frames or so) that have different objects rendering/appearing on different frames. Each of these frames is around 5k, so using the traditional animation method of 1 slave per frame will take too long to render.

At the moment my submission script calculates the prepass for the sequence, then it switches the rendering in Deadline to Jigsaw animation and splits that image up into a full frame of 16 tiles and this gets sent as a dependant job with the Draft tile assembly after.

This usually works ok, but we have to wait for the whole batch to complete before we can view any output (as each tile is rendered over the frame count, not as part of 1 image), and mulitple frames take ages to send everything to Deadline.

This screenshot is what Jigsaw sends to Deadline just for 2 frames. And all 40 items have to be complete before we can see any full renders.

Capture.JPG
Capture.JPG (148.19 KiB) Viewed 83 times


Is there a better method for doing short high resolution images like these? Or is it possible to script Deadline to send each image as a Jigsaw single frame render that increments the frame time in one batch?

Sorry it's a bit wordy!

Thanks.

User avatar
Bobo
Posts: 5880
Joined: Tue Nov 15, 2005 10:26 am
Location: Vancouver, Canada
Contact:

Re: Method to render image sequences via Deadline?

Postby Bobo » Wed Jun 21, 2017 1:57 am

I don't think the submission itself needs any tweaking, except for how the Slaves are allowed to process these jobs.

If I were to do this kind of work, I would limit each of the 16 region jobs to a single Slave (Machine Limit 1), and send them to a Pool with enough machines to handle all 16 regions in parallel. Given that these jobs are submitted around the same time, chances are they will be picked up and processed by 16 Slaves at around the same time. The Limit of 1 also ensures that once a Slave has picked up a Region Job, it is likely to continue rendering all other frames of it without reloading 3ds Max.
The Draft Tile Assembly Jobs would need to be in another Pool with machines dedicated to that type of work. The DTA jobs would be frame-dependent on the Max Region jobs, so as soon as the 16 regions of the first frame have finished, the DTAs would assemble that frame.
Of course, you could also have dedicated machines for the prepass if you want to keep things separated.

How many machines do you have working on the Max Regions? Are the same machines responsible for the Assembly, or do you have dedicated Slaves for that?
Borislav "Bobo" Petrov
Product Specialist
Thinkbox Software Inc.

squeakybadger
Posts: 74
Joined: Tue Jul 28, 2009 9:50 am

Re: Method to render image sequences via Deadline?

Postby squeakybadger » Wed Jun 28, 2017 12:08 pm

Hi Bobo,

I've finally got time to look at this now.

We have 20 machines that run during the day as slaves, with 15 more that come on at night. None are just dedicated Assembly ones at the moment (but I will get the slower ones to do that)

I've just done a quick test with the machine limit set to 1 in the SMTD and each region is being rendered by the same slave. I'll have to do a full size test on a busy farm and see how it works and if the frames come out in a timely manner.

What is the Maxscript to specify the Assembler pool/group override? Last time I tried to set it through scripting it was ignored.

Thanks again.

User avatar
Bobo
Posts: 5880
Joined: Tue Nov 15, 2005 10:26 am
Location: Vancouver, Canada
Contact:

Re: Method to render image sequences via Deadline?

Postby Bobo » Wed Jun 28, 2017 2:33 pm

squeakybadger wrote:What is the Maxscript to specify the Assembler pool/group override? Last time I tried to set it through scripting it was ignored.


Code: Select all

SMTDSettings.AssemblerOverride=true --enables the overrides
SMTDSettings.AssemblerPriority=99 --sets the priority override
SMTDSettings.AssemblerPoolName="DTA" --for example
SMTDSettings.AssemblerPool2Name="" --usually empty, but can be set for secondary pool
SMTDSettings.AssemblerGroup="somegroup" --sets the group override


When SMTDSettings.AssemblerOverride=false, the regular job values are used:

Code: Select all

SMTDSettings.Priority
SMTDSettings.PoolName
SMTDSettings.Pool2Name
SMTDSettings.Group
Borislav "Bobo" Petrov
Product Specialist
Thinkbox Software Inc.

squeakybadger
Posts: 74
Joined: Tue Jul 28, 2009 9:50 am

Re: Method to render image sequences via Deadline?

Postby squeakybadger » Mon Jul 10, 2017 10:11 am

Hi Bobo,

Had a good test with this now, and it is working perfectly.

Thanks again.


Return to “Thinkbox Software - Deadline”

Who is online

Users browsing this forum: No registered users and 1 guest