How to Limit VRay DR Machines when using Deadline

Hey All:

Quick question that I can’t seem to find the answer for. Our office recently got deadline 5.1. I have been doing some tests with rendering high resolution stills with the tile rendering feature. (BTW, thanks for the render element support in 5.1 - its amazing!)

My typical setup for submitting this type of job is to send a prepass, then use the saved prepass irradiance file (irradiance/lightcache) to send the main render pass (tiles enabled).

Currently, I am trying to speed up the prepass phase by using distributed rendering to calculate/save the prepass. (VRay 2.10.01)

I can get DR to work through deadline just fine, the problem is I can’t get deadline to limit the amount of machines that it uses for DR.

For example, I am Artist A. I have 5 machines set to DR, call them renderbox01-05. Another Artist, Artist B, has 5 machines set to DR as well, renderbox06-10.

For my job setup, I go to the VRay Render dialog, to the Settings tab, and to “Distribued Rendering” and click on settings. In this dialogue, I check only renderbox01-05, and DO NOT check renderbox06-10. If I do this and then hit the “Render” button in the VRay Render Dialog, the job renders locally only using renderbox01-05.

However, if i send the same setup with Deadline (it goes to monitor), the machine that is running the DR job will use ALL machines that currently have VRay DR Spawner active, in the example case, renderbox01-10, even though I specified only 01-05 in the VRay DR Settings.

I have tried checking/unchecking “save hosts in the scene” in the VRay DR Settings Dialog, no difference.

Other notes - each computer in our render farm has a vray_dr.cfg file stored locally on the machine. This file lists all of our renderboxes (about 50) and in this file, all renderboxes are set to active (checked) by default.

It seems like deadline is not conscious of the limitations set through the VRay DR Settings Dialog (like me checking 01-05) and instead defaults to the vray_dr.cfg file which is stored on the local machine.

Has anyone found a solution to this? My guess is that this may be able to be controlled by editing the vray_dr.cfg file for each renderbox (or perhaps sets of them), but I would prefer to do it in a way that allows more scalability/flexibility, like setting it in the VRay DR Settings Dialog.

Thanks!

Other Possible Helpful Information:
Windows 7 Professional x64
3DsMax 2012
VRay 2.10.01
Deadline 5.1

That’s an interesting problem. Out of curiosity, have you tried VRay DR with backburner before? I’m just curious if it behaves the same way because Deadline itself isn’t actually aware that it’s doing a DR job. It just starts up the render like it does any other render, so I’m surprised it wouldn’t respect the “save in scene” option. Maybe in network mode, VRay looks for the vray_dr.cfg file and uses that. If that’s the case, then it should behave that way with backburner too.

Cheers,

  • Ryan

Ryan:

Oddly enough, I have not experienced this same problem when DR’ing through Backburner. My typical setup for DR to BB was like this:

  1. Make sure that the renderboxes that you want have the correct spawner running, i.e., VraySpawner2012.exe.
  2. Make sure the machine you are going to send the job too through backburner (say you will send to renderbox01) has a list of computers eligible for DR (it can be full or partial list of your renderfarm), and say the list is renderbox01 thru 10
  3. Go to VRay Distributed Rendering in the VRay Settings Tab, and select the machines you want to DR too. (Example, 01-05)
  4. Send the job to BB. BB will render only to machines 01-05, even though the farm computer has a list of machines from 01-10.

I did find a workaround today when using deadline (10 machine example, renderbox01-10):

I wrote a custom vray_dr.cfg file for the machine renderbox05 and renderbox10:

renderbox05 sees a total of 05 machines for DR - renderbox01-05
renderbox10 sees a total of 10 machines for DR - renderbox01-10

The rest of the boxes 01-04, 06-09 don’t have a vray_dr.cfg file.

This solution locks you into sending a DR job to either renderbox05 or renderbox10. If sent to renderbox05, it will pick up on 01-05, and if you send to renderbox10, it will pick up on 01-10.

Not perfect, but it works.

I am going to try one more solution tomorrow - the vray_dr.cfg has switches (0 and 1) for whether the renderbox is “checked” or “unchecked” by default in the VRay DR Settings. Maybe if I make a vray_dr.cfg file of all the machines but have them “unchecked” it will take the checked settings from the VRay DR Settings on the host computer and send them correctly to the render manager…I’ll let you know what i find.

Sounds good. If that doesn’t help though, we’ll have to do some digging to see if we can make this feature behave like it does through backburner.

Cheers,

  • Ryan

So I figured it out, you have to do the following:

  1. Remove the vray_dr.cfg file (in this case, remove from all renderfarm renderboxes) I still have a vray_dr.cfg on my workstation.
  2. Select the machines you want to use for DR through the Vray DR Settings Button (Doesn’t matter if “Save Hosts in Scene” is checked or not, it works both ways.)
  3. Send the job.

With this method the DR machines will be limited to what you selected under the “settings” tab, and you can use any machine that you checked to “host” the DR session.

I have never gotten Backburner to manage a DR job without the vray_dr.cfg file on each machine, which is why this solution is a bit unexpected. I don’t know the functional differences between BB/DL, but I am guessing that by selecting “workstation mode” in Deadline, it somehow works around needing that configuration file? Regardless, it works - which is what matters!

Glad to hear it is working! You’re probably right about the workstation mode being the key difference. We’ve tried getting this to work in slave mode, but we always had problems. Anyways, like you said, as long as it’s working. :slight_smile:

Cheers,

  • Ryan