Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page introduces and provides information on setting up explains the essence of Distributed Rendering with V-Ray.


Overview

...

Distributed rendering is a technique for distributing a single render job within a single frame across many computers in a network. There are different approaches to doing this, but the main concept is to reduce the render times by dividing different parts of the rendering pipeline and giving each participant different parts of the job. 

...

typenote

...

 

Organization

...

V-Ray divides the frame into regions and spreads them across the participants in the distributed rendering. This is done completely through TCP/IP protocol which is the standard protocol of the Internet and thus the most common protocol that is supported by the hardware. V-Ray itself does not need an additional file or directory sharing (note that you may actually need some file/directory sharing for the bitmaps or other additional files used during rendering). The distribution management is divided into Render Clients and Render Servers.

UI Text Box
typenote

To use V-Ray distributed rendering you need to have both V-Ray for 3ds Max and Autodesk 3ds Max installed on both the render client and the server machines. When using the V-Ray GPU render engine, а V-Ray Standalone (or V-Ray for 3ds Max) installation is sufficient for each server machine.

 

Render Clients

The render client is the computer from which the rendering is started. It divides the frame into rendering regions and spreads it across the Render the Render Servers. It distributes data to the render servers for processing and collects the results.

UI Text Box
typenote

Every render client requires a render node license. To see how to set up your render license, see the Licensing.


Render Servers

A render server is server is one of the computers in the network that does participates in the rendering work. A render server requests render data from the render client, processes it, and sends the result back. In any DR job, there can be many render servers.

If any of the servers fails, you should get a notification and the render client will try to reassign the buckets to another server.

UI Text Box
typenote

 Distributed Rendering is performed differently depending on the Distributed Rendering setup for the render server machines is set accordingly to the preferred V-Ray renderer. V-Ray requires vrayspawner V-Ray DR spawner to be run on the render server machinemachines, while V-Ray GPU requires V-Ray GPU Render Server or V-Ray Standalone (with server command). 

...

)

...

2. Set up the Render Client. In the V-Ray for 3ds Max interface, enable Distributed rendering from the Settings tab under the System rollout. Use the Render Server button to add the IPs of all your Render Servers.

 

Step by Step V-Ray GPU DR Setup

V-Ray GPU can run on one or more CUDA enabled graphics cards. The GPU devices must be selected before initiating the distributed rendering on each server machine. To specify which cards to use, go to Windows Start > Programs > Chaos Group > Select devices for V-Ray GPU rendering of each render server machine and pick.

UI Text Box
typeinfo

By default, the render server machine will use all its graphic cards in CUDA DR rendering, if nothing was specified beforehand.

1. Set up the Render Servers. You can do this in two different ways: (This step is not required if the server machine uses V-Ray server as service)

a. Start the render server on each server machine from Start menu > Programs > Chaos Group > Launch V-Ray GPU Render Server for 3ds Max ####

b. Start the V-Ray Standalone and enter the "vray -server" command in the command prompt.

2. Set up the Render Client. In the V-Ray for 3ds Max interface, bring forth the Render Settings and in the Performance tab under the Distributed Rendering rollout switch On. Use the Render Server button to add the IPs of all your Render Servers.

 

TCP/IP Port Numbers

Distributed rendering works over TCP/IP and requires the following ports:

 

...

Port 20205 is only used by render servers to broadcast a message that they are ready to join an ongoing DR rendering.

V-Ray Standalone when set as render server receives rendering requests on port 20207 by default.

V-Ray DR Spawner command line options

You can add command line options to the VRaySpawner.

Numa options

You can specify Numa command line options to VRaySpawner.exe to better utilize processor nodes with Numa architecture:

...

 

 

...

.

 

Check how to Set Up V-Ray Render Service

Check how to Set Up Distributed Rendering

 

Example: Using 3ds max #### and a system with 8 NUMA nodes:

Code Block
vrayspawner####.exe -numa

spawns eight 3dsmax.exe processes, every running on single NUMA node and using listening ports 20204-20211

Code Block
vrayspawner####.exe -numa=4

spawns four 3dsmax.exe processes, every running on two NUMA nodes and using listening ports 20204-20207

Code Block
vrayspawner2020.exe -node=3,5,6 -ports=30000,40000{{}}

spawns three 3dsmax.exe processes, running on NUMA nodes 3,5 & 6 and using listening ports 30000, 40000 & 40001

Code Block
vrayspawner2020.exe -node=2,3,4,5,6 -numa=3

spawns three 3dsmax.exe processes, running on nodes (2,3) (4,5) & (6) and using listening ports 20204,20205 & 20206

 

...

Notes

...

Fancy Bullets
typecircle
  • Every render server must have all the plugins and texture maps in their proper directories loaded so that the scene you are sending will does not cause them to abort. For example, having a PHOENIX plugin used in the scene will cause causes a server failure in any of the servers that do not have the PHOENIX plugin installed. If you have mapped your object with a file named JUNGLEMAP.JPG and you do not have that map in the BITMAPS directories of the render server installation - you will get bucket rendered at that machine as if the map was turned off, unless you also turned on the Check for missing files option option in the V-Ray System rollout, in which case the render server will refuse to render the scene.
  • When you cancel a DR rendering, it may take some time for the render servers to finish working and they may not be immediately available for another render.

     


    Default lights are not supported in DR mode and

    will

    do not render. If you need any lighting in the scene, you should add it explicitly.

  • The default system temp folder, usually C:\Users\<username>\AppData\Local\Temp on Windows (%TEMP%), is used for copying the assets if the VRAY_ASSETS_CACHE_PATH environment variable is not set.
  • V-Ray DR can be run automatically as a Windows service whenever the machine boots up. For more information, see Set Up V-Ray Render Service
  • If you see a 3ds Max window flashing on the taskbar and then disappearing, right-click on the V-Ray DR spawner icon in the taskbar tray, select Exit to close the DR spawner, and try running a regular Backburner job with this machine as the server. After that, try to start the V-Ray DR spawner again.

  • For a troubleshooting guide, visit the Distributed Rendering Troubleshooting Guide.