By BradT
#388384
I'm brand new to Maxwell. I'm in the process of deploying it on our render farm for the first time. I want to use progressive rendering.

I've figured out how to export .mxs files from 3ds max, but I'm getting a rate of 4 mxs files exported per minute. For a 2400 frame animation, that's 10 hours and locks up a 3ds Max seat. Is there a faster way? Can the export task be submitted to the render farm? Am I missing something?

Thanks!
#388419
If you have 3dsmax installed on the render farm machines, you can submit the max scene and do a command line render of each frame. That will distribute the export process too, and in your case add about 15 seconds to the render time of each frame, which is negligible.
By BradT
#388433
Thanks for the replies!

We've been using Backburner here for the past 15 years, but I'm experimenting with using Maxwell's network system now. So far, it's not working very well at all. The feature that sold us on Maxwell was the progressive render ability. The ability to send an animation to the farm, and get back a grainy version immediately is seen as a huge time-saver, even though achieving final render quality would take longer. Machine time = cheap, human time = expensive.

I'm not sure how to submit an export-only job, without the rendering, to either Maxwell network or backburner. Is that possible?

I assumed that doing a progressive render, where nodes dump an EXR or PNG every X sample levels, then move on to the next frame, looping back for more and more refinement, was only possible with Maxwell's render system. Am I wrong? Can this be done with Backburner?

I have discovered that using maxwell reference geometry for static objects speeds up the MXS export tremendously, but that does add additional work for the animator.
#388454
The Maxwell network system is the easiest way to achieve progressive rendering, but in that case you have to export all the frames as MXS files beforehand. If your scenes are very heavy and take a lot of time to export, there are several things you can try:

1. Use MXS references for static geometry. This is by far the most straightforward fix, but the project should be structured with this in mind from the beginning. Converting existing scenes is going to take some work. The downside is that you don't see the original geometry properly in the viewport anymore, so animating is harder if the characters need to interact with the environment. You can do a bunch of trade-offs here, from bringing just a small part of the static geometry into the animation scene (around the characters), to scripting a more complex system which recognizes xrefs, exports them (when needed) and replaces them with MXS references at export time. I haven't implemented such a system in practice so it might not be easy to do using just standard Max tools, but the Maxwell plug-in has an API which can be used to implement something like this, if you have a developer in-house.

2. Distribute scene export through backburner (or some other farm manager). Basically you have the nodes run a MAXScript which exports a frame as MXS to a specified location. Since Max is a mess, there are some corner cases where the export command doesn't produce the same scene as the render command, so you have to watch out for those. After you have the files, render them with the Maxwell network system.

3. Enable persistent MXS, send the job to backburner to render to SL 4 or something like that, and if you're happy with the results, submit a new job which uses the existing MXS and MXI files to resume the render. The second job can use the Maxwell network system. This is basically an improved version of the option above, but it requires some more scripting and housekeeping.

On the other hand, keep in mind that Maxwell saves the frames after each sampling level, not just once at the end. If all you want is to get previews while the job is rendering, you can submit it with backburner and look at the image files as they're updated.
By BradT
#388495
Thanks again!

We'll probably go for a combo of suggestions #1 and #3. That seems like the best option at the moment. Having to deal with two render management systems doesn't scale well, but I guess that's the state of things right now. Hopefully this improves.
By BradT
#388530
On further investigation, it seems like the thing to do is, submit multiple jobs to Backburner using MXC flags. I'm still experimenting with this, but it looks the most promising so far. For example:

Job1: SL-3, Flags: -node
Job2: SL-7, Flags: -node -trytocontinue, Add dependency to Job1
Job3: SL-16, Flags: -node -trytocontinue, Add dependency to Job2

Saving of MXS and MXI files should be enabled. Maybe saving of MXS files can be disabled in Job2-3, but I haven't tried this yet. A maxscript could probably do all of this submission to make it faster and more foolproof. I might give that a try down the road.

Maxwell's network render tools seem really basic. I'm surprised that there isn't any good documentation or summary for using Maxwell with Backburner. Backburner isn't the best, but it's fast, mostly stable, and integrated in Max/Maya.
Will there be a Maxwell Render 6 ?

Let's be realistic. What's left of NL is only milk[…]