Square Enix © Goodbye Kansas

Table of Contents

This page provides information on distributed rendering (DR) in V-Ray for Maya.

Overview


Distributed rendering is a technique for distributing a single render job within a single frame across many computers in a network. The idea is to reduce render time by dividing different parts of the rendering pipeline and giving each participant different parts of the job. A network of computers that perform distributed rendering is sometimes called a render farm

V-Ray supports distributed rendering (DR). While there are many ways to do DR with V-Ray, the most common way is to divide the frame to be rendered into small regions (buckets) and give each machine a number of buckets to render, then the machine that started the process gets the results and combines them into the final image.

Distributed rendering is not supported by V-Ray PLE for Maya.


Organization


In V-Ray, DR 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 to perform DR. However, you might need some file/directory sharing for the bitmaps or other additional files used during rendering. The distribution management is divided into a render client and one or more render servers. Please note that if you are using a V-Ray version previous to V-Ray 5, render clients and render servers would be found under different names.

Render Clients

The render client is the computer from which the rendering is started. Maya and V-Ray for Maya must be running on this computer in order to start DR. The process initiated by the render client divides the frame into rendering regions and distributes them among the render servers, and later collects the results. In any DR job, there is only one render client.

Render Servers

A render server is one of the computers in the network that does 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.


Installation Notes


To use the distributed rendering feature, you need to have V-Ray for Maya installed on the Render Client as well as V-Ray Standalone or V-Ray for Maya (which includes the Standalone) installed on the Render Servers. Note that the V-Ray and Standalone versions on the server and client must match. Check the Installation page for instructions on how to install V-Ray.

If you are installing V-Ray through a portable installation on the Render Servers, you need to unpack the same installation build and set some environment variables. Check the Portable Installation page for more information.


Distributed Rendering Settings


For information on Distributed rendering settings in Maya, please see the Distributed Rendering Settings page.


Step by Step DR Setup


1. Set up the render servers. You can do this in different ways, depending on whether you installed V-Ray through a standard installation or through a portable installation.

a. If you used standard installation, start the render servers as specified in the table for each operating system:

Operating SystemHow to Start the Render Server
Windows

Start Menu > V-Ray for Maya 20nn > Launch V-Ray render server

Linux

/usr/ChaosGroup/V-Ray/Maya20nn-x64/vray/bin/vrayserver

macOS/Applications/ChaosGroup/V-Ray/Maya20nn/vray/bin/vrayserver

*where nn is the number of the Maya version.

Alternatively, start the Standalone by entering the "vray -server" command in the terminal/command prompt. You can either drag-and-drop the executable files in the terminal/command prompt or just write the command.


b. If you used portable installation, use the following commands in the terminal/command prompt:

Operating SystemHow to Start the Render Server
Windowsunpack_location\maya_vray\bin\vray.exe -server
Linuxunpack_location/maya_vray/bin/vrayserver
macOSunpack_location/vray/bin/vrayserver

Alternatively, start the V-Ray Standalone by entering the “vray -server” command as shown in the preceding step A.


2. Set-up the Render Client. You can do it either through the V-Ray for Maya user interface (you need V-Ray installed for this on the client machine), or you can use V-Ray from a Standalone or V-Ray for Maya in the terminal/command prompt.

a. In the Maya interface, bring forth the Render Settings and in the Settings tab under the System rollout click on the Settings button in the Distributed Rendering group. Add all the Render Servers by inputting their IP's in the  Add Server name or IP  field and click on the Add Server button. You can include or exclude the servers in the list in the current rendering by selecting them from the list and toggling the  Change button.

b. In the terminal, connect to the Render Server by using the standard distributed rendering commands in the command prompt/terminal, e.g.:

vray.exe -distributed=2 -renderhost=127.0.0.1 -sceneFile=some.vrscene - for Windows
vray.bin -distributed=2 -renderhost=127.0.0.1 -sceneFile=some.vrscene - for macOS and Linux

Note that the IP used here is just an example IP. Put the IP of your render host here.


DR Check tool


The DR Check tool can be used to query the state of render servers, the number of processors on the server machine and the V-Ray version of the server.


Location:

Depending on your OS, the vraydr_check executable is located as follows:

Windows –  Start Menu > V-Ray for Maya nnnn for x64 > Tools, or alternatively start the .exe in a command-prompt from C:\Program Files\Chaos Group\V-Ray\Maya nnnn for x64\vray\bin

Linux –  /usr/ChaosGroup/V-Ray/Maya nnnn-x64/vray/bin

macOS – /Applications/ChaosGroup/V-Ray/Mayannnn/vray/VRay.app/Contents/MacOS

Note: nnnn is the Maya version


Usage:

vraydr_check -host=IP -port=num

Note: IP is the IP address of the machine that is running a V-Ray server and num is the number of the port (by default it's 20207). Example: vraydr_check -host=10.0.0.100 -port=20207


Return values:

  • The state of the server: busy or ready depending on whether the server machine is currently rendering or it's available for new render tasks.
  • The number of CPU threads on the server machine. Example: Num processors: 8.
  • The version of V-Ray installed on the server machine. Example: V-Ray version info: Feb  8 2023 00:45:01.
  • The V-Ray core version. Example: V-ray core version: 6.00.21.

In case a connection cannot be established with the server, the tool will print this message:  Failed to connect to server 1.0.0.100:20207

This could mean that either something is blocking the connection, or the server is not running at all on the specified IP address.


Distributed Rendering on macOS via Autodesk Backburner


Since Backburner gets started as root user (hence V-Ray is started as a root user as well), V-Ray would not find some files needed to properly setup distributed rendering. The solution to this problem is to do the following:

  • Copy the vray_dr_list.xml file  from the desired user's settings (/Users/<username>/Library/Preferences/Autodesk/maya) to /Applications/ChaosGroup/V-Ray/<maya_version>.  
  • Add the string: export VRAY_AUTH_CLIENT_FILE_PATH=/Users/<username>/.ChaosGroup/vrlclient.xml to the folder /etc/profile. This ensures V-Ray will know where to load its license from.


Notes


  • When you cancel a DR rendering, it might take some time for the render servers to finish working and they might not be immediately available for another render.

  • Servers can be added, removed, enabled, and disabled while running a CPU distributed render. For GPU rendering, DR settings can not be changed during the render. When using progressive rendering, nodes can only be added or enabled while rendering.  While rendering, some of the options will be disabled. Stop the render to make adjustments.

  • If the VRAY_ASSETS_CACHE_PATH environment variable is not set, the default system temp folder is used for copying the assets, usually  C:\Users\<username>\AppData\Local\Temp on Windows (%TEMP%) or /tmp on Linux and macOS ($TMPDIR).
  • The [STDROOT] and [PLUGINS] tags in the script are normally replaced with their respective directories by the V-Ray installer. However, if you are using a version earlier than V-Ray 6, update 1, and performing a portable installation, it is necessary to manually replace these tags. The [STDROOT] tag needs to be replaced with the full path to the vray folder in the portable file. The [PLUGINS] tag needs to be replaced with the full path to the maya_vray folder in the portable file.