AWS Thinkbox Discussion Forums

Latest Deadline Generates Unwanted Folders

We just recently updated to the latest version of Deadline and are now experiencing issues when submitting. It appears that deadline will sometimes generate all the folders for the Render Elements. These outputs can be see in the Submission Params dialog of the Job Properties of Deadline Monitor. Does anyone know how we can prevent this from happening? We are using deadline to render. I can confirm that the render elements output paths are empty at time of submission and even in the max file that is used to render on the farm. I double checked. So I’m not sure how these extra paths end up in the job properties.

I’ve attached and image showing the error and what a correct submission should look like in our scenario.

Here is the main part of the submission script:

# this is done in order to restore default factor deadline settings
mxs.deleteFile(mxs.SMTDPaths.InIFile)

# Set Deadline Settings
mxs.SMTDFunctions.loadSettings() # loads factory default settings
mxs.SMTDSettings.Priority = 50
mxs.SMTDSettings.PoolName = '3d'
mxs.SMTDSettings.group = '2680v3'
mxs.SMTDSettings.OutOfOrderMethod = mxs.name('normal')
mxs.SMTDSettings.OutOfOrderStep = 1
mxs.SMTDSettings.LimitGroupsToUse = mxs.Array('vray') #limits user can define using node, defaults to vray
mxs.SMTDSettings.ChunkSize = 1 # user can override this possible using global
mxs.SMTDSettings.LimitEnabled = True 
mxs.SMTDSettings.MachineLimit = 40
mxs.SMTDSettings.ResumeOnDeletedDependencies = True
mxs.SMTDSettings.IgnoreMissingExternalFiles = True 
mxs.SMTDSettings.IgnoreMissingUVWs = True 
mxs.SMTDSettings.IgnoreMissingXREFs = True 
mxs.SMTDSettings.IgnoreMissingDLLs = True 
mxs.SMTDSettings.SubmitAsMXSJob = False
mxs.SMTDSettings.SubmitAsDependent = False
mxs.SMTDSettings.SubmitAsSuspended = False # user defined by global
mxs.SMTDSettings.UserName = mxs.SMTDFunctions.GetDeadlineUser()

# Import Deadline stuff
mxs.SMTDSettings.JobName = m_jobName + ' | ' + m_passName 
mxs.SMTDSettings.Comment = "Render Submission"
mxs.SMTDSettings.ExtraInfo1 = mxs.maxfilepath + mxs.maxfilename

# Save copy of maxfile that's used for submission
tempMaxfilepath = mxs.SMTDPaths.tempdir + mxs.maxFileName
mxs.SMTDFunctions.SaveMaxFileCopy(tempMaxfilepath)

# Simple job submit
results = mxs.SMTDFunctions.SubmitJob()
renderMsg = mxs.SMTDFunctions.getRenderMessage() 
mxs.SMTDFunctions.getJobIDFromMessage(renderMsg)

Could you check and report the values of all SMTDSettings properties whose names start with “RenderElements” ?

E.g.

for p in getPropNames SMTDSettings where matchPattern (p as string) pattern:"RenderElements*" do
    format "%=%\n" (p as string) (getProperty SMTDSettings p)

(be sure to modify to use your own mxs.SMTDSetting, obviously)

How is the render output defined - in the 3ds Max render output, or in the renderer’s own VFB (e.g. VRay)? I assume you are expecting all RenderElements to end up as layers in the EXR, and the submitter is including the output paths it thinks the render elements would save to regardless?

Once the rendering is done, does anything appear in those folders, or do they remain empty?

Is the problem the extra empty folders you need to delete, or does Deadline fail elsewhere?

Looking further into the SMTDFunctions code handling VRay VFB output, it has the following logic:

  • We check to see if the current renderer is vray or vrayrt, and the .output_on property is TRUE.
  • If the renderer’s .output_splitbuffer is TRUE, AND .output_useram is also TRUE (if memory frame buffer is disabled, the split option is also disabled)…
  • … then we assume “Separate Render Channels” were requested, and then we output each render elements’ filename as individual output path, as long as the property .vrayVFB of the render element exists and is TRUE.

So you should check to see if the VRay VFB settings actually call for Render Elements to be split or not according to the above logic. The problem is either in the renderer’s settings, or in how we handle them. Let’s see which one is the source of this issue…

Correct, those render elements should be embedded in the EXR rendered via the VRay Frame Buffer.

The folders are in fact empty.

The problem is two things, one it creates these folders and secondly, more importantly, it adds all those output paths to the deadline info file.

I opened the maxfile that caused the issue and found that none of those Vray settings were set to be True in the render dialog. Nor was the filepath set in the first tab of the max dialog. All the render element output paths were empty as well, since the render was using Vray with embedded exr output.

The only path set in the render dialog was the vray output.

Ok, so the code says if VRay .output_on is FALSE, then the ELSE codeblock is executed where we first collect any render elements that might be going out as EXR layers via the regular Render Output, and then we skip them, but do a generic loop to dump any other render element paths to the file.

You said “none of the VRay properties were TRUE”. In that case, if .output_on was FALSE, then the code did the right thing.

Privacy | Site terms | Cookie preferences