Been having some issues with how to send a multiframe incremental sequence of 50 frames over the weekend, and had to resort to doing it locally then submitting the render job after.
Could someone show me the light! Currently Ill send it and more than one machine will pick it up. Sorted that with machine limits, but 3ds max will restart after each frame and not keep the previous frames IR in memory to add to.
I’m sure its a simple tick button somewhere but at midnight was not thinking straight!
I have the restart 3ds max between tasks off, and restart renderer between frames on, as the default install has it set up. ( do these options do the same thing?)
I did wonder if one of those would help, but not had the luxury of time this week!
I wonder if the submission script could be made to recognoise when the “dont render final image” is ticked under vray’s global switchs. This option is only used when pre-calcing the lighting (as far as I can see), so could be the trigger to change the submission script to fix the issue. And have it not sticky!
I will have time to try some thinga out tomorrow if you have any ideas?
Those options are different. The first does exactly what you would expect it to do. In between each job task, Max will be restarted, so everything will have to get reloaded for the next task.
The second one doesn’t restart Max. Instead, between each frame, the renderer (VRay in this case) is unloaded and reinitialized. This doesn’t impact render times, and often makes things more stable.
So the hypothetical question is, if you have “restart max” off, and “reload renderer” on, why is Max restarting for you between tasks? One idea comes to mind - do you find different slaves are rendering different tasks, or is the same slave rendering every task? If it’s the latter, and Max is still getting restarted, maybe you could send us that slave’s log from the session where it rendered this job. Go to the slave, and in the Slave UI, select Help -> Explore Log Folder. Find the slave log for the appropriate session, and send it to us. The log entries are timestamped, so if you can let us know which time range we should be looking at, that would help too!
Just wanted to add to this thread, as it has just solved an issue that we hit today with a 3dsmax VRay scene.
The job was a queued in Deadline to precalculate the GI with LC flythrough and IR multiframe incremental every Nth frame (rendered on a single server).
With ‘Restart Renderer Between Frames’ TICKED, the precalc didn’t work. Instead a calculating the LC then calculating and writing out the IR for every Nth frame, VRay recalculated the LC for every Nth frame and produced a corrupt IR.
With ‘Restart Renderer Between Frames’ NOT TICKED, the precalc worked perfectly.
In light of Jim confirming that the “Restart Renderer Between Tasks” was causing the error in the IR calc, could your thoughts below
“I wonder if the submission script could be made to recognoise when the “dont render final image” is ticked under vray’s global switchs. This option is only used when pre-calcing the lighting (as far as I can see), so could be the trigger to change the submission script to fix the issue. And have it not sticky!”
be implimented? Also when the “dont render final image” is ticked, the SMTD could also force only one slave to be assigned for the job, as when calcing the lighting, only one machine can do this.
It would mean when sending the IR calc, the SMTD would auto set itself correctly, and then return ready for the render task, perfect!
That’s a great idea! I’m sure SMTD could detect if the “don’t render final image” option is ticked, since vray does a good job of exposing all its options to maxscript.
Brilliant news. I think the part about where the SMTD could force only one slave to be assigned, it might be that the Limits can be auto set to Whitelist, then if you forget to assign a single slave, the Sanity check could detect and warn you no slaves have been assigned in the whitelist?
I was thinking we would just set the job’s machine limit to 1, and/or the chunk size to be something really high (100000). That way the job only has a single task, so it can only be picked up by one machine (and it doesn’t matter which machine that is).
We’ve decided to make this a sanity check. This way, people are aware of what’s going on, and why the settings need to be changed. So it will tell you that Restart Renderer should be off and a machine limit of 1 should be set, and if you right-click on the sanity check item to “correct” the problem, it will automatically configure those settings for you.
Sure! I’ve attached the updated general sanity check script here. To install, go to \your\repository\submission\3dsmax and backup the original. Then unzip the attached file to the same folder.
Depending on the version of the clientSetup script you have installed on your workstation, you will either have to restart 3dmax to recognize the change, or you can simply close and relaunch SMTD. I would say restart 3dsmax, just so you know for sure you’re testing the new script file.