Introduction


Distributed rendering (DR) is a technique for distributing a single render job within a single frame across many computers in a network. There are different approaches of 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. The most common way to do this is to divide the frame to be rendered into small regions(buckets) and give each machine to render a number of them. Then get the results and combine them into the final image.

Organization


V-Ray supports DR. It 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 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.

Render Clients

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

Render Servers

A render server/slave is a computer that is part of the so-called render farm - it requests render data from the render client, processes it and sends the result back.

Distributed Rendering Settings


To use the distributed rendering feature you need to have V-Ray for Softimage installed on the Render Client and V-Ray Standalone running in server mode on the Render Servers.

It's highly recommended that you use VRay Standalone and VRay for Softimage from the same installation package to avoid compatibility problems.

Render Servers Setup

1. Start the V-Ray Standalone from:

Start Menu > All Programs > Chaos Group > V-Ray Standalone for x** > V-Ray Standalone for x** command prompt

2. Enter the "vray -server" command in the command prompt.

You can specify the render server port by executing the following command: 
"vray.exe -server -portNumber=N" where N is the desired port number. If you don't explicitly set the port number, the server will be launched with its default port number (20204).

IMPORTANT: You should launch the render server with the same port you've listed in the render client, otherwise the connection will not be established. The default port of the Softimage render client is 20207 and differs from the default port number on the render server (20204). We recommend that you always specify an explicit port number.

Render Client Setup

To open distributed rendering settings dialog in Softimage interface you should navigate to Render Toolbar > Render > VRay DR Options.

Distributed Rendering parameters


Use Distributed Rendering - this option turns on/off the VRay Distributed rendering.

Use local machine for rendering - when checked the local machine will be used during DR rendering along with the render slaves.

Transfer Missing Assets - if you have external files in your scene (like textures, meshes, etc.) they will be automatically transferred through the network to the render servers when you check this option.

Use Cached Assets - if the render servers already have the missing assets, they will not be transferred again. This option will be considered only when Transfer Missing Assets is turned on.

Server IPv4 address - allows you to manually set a server by entering its IP address or network name.

Port - specifies the port number that will be used for distributed rendering.

The port numbers of the render servers and the render client must match for DR to work.

If you leave this field empty, then the default port number for Softimage render client (20207) will be used.

Add Server - this button adds a server to the Servers list by taking the values from the Server IPv4 address and Port fields.

Change server state - marks the selected server from the list as enabled or disabled. Only enabled servers will be used as DR slaves.

Remove Server - when you select a server from the Servers list and click this button, you will be able to remove it.

The Servers list is not a scene property but is kept in a configuration file.

Use DR for final rendering (single frame output only) - VRay Distributed Rendering is not recommended for rendering animated sequences. Still, if you want to achieve this, you should enable the Use DR for final rendering (single frame output only) option. Then you should use script to force Softimage to render the sequence as a set of individual frames. You can see an example script below.

Notes


  • 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.

  • When DR is used, the scene file will be automatically exported and transferred to servers on every scene change. This may cause preview renders to respond more slowly than when DR is not used, especially with large and complex geometry. We recommend that you use VRay proxies to reduce scene size and complexity.