Distributed rendering |
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 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.
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.
The render client is the computer that the user is currently using and from which the rendering is 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.
A render server 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.
See the distributed rendering section in the install instructions. Note that if you create a fresh install of 3ds Max on a machine, you will need run at least one Backburner job with this machine as a server, before you can use the machine for distributed rendering.
First start with the testing of the render server:
- Start the vrayspawnerXX.exe program from the Start menu (Start menu > Programs > Chaos Group > V-Ray for 3dsmax > Distributed rendering > Launch V-Ray DR spawner). It will automatically try to find the 3dsmax.exe file and start it in server mode. You should end up with 3dsmax minimized down in the task bar. It should have the title "vraydummy.max". If 3ds Max stays there alive without closing then you have the Render Server part working. If you see the 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.
Now test the render client:
- Open your 3ds Max as you normally would.
- Open a scene you would like to render (preferably a simple one for this test).
- Choose V-Ray as your current renderer and make sure you have checked Distributed Rendering ON in the V-Ray System section.
- Press the Distributed Rendering section.
button in the- Add the machines used for rendering - either with their IP address or their network name and close the dialog.
- Render the scene as you normally would. You should see the buckets rendered by the different servers.
Practically every action taken by V-Ray DR is logged. You can find all the log files in the C:\ directory and find out what has failed. If you do not understand the problem you can compress and send the files to us to analyze them and eventually try to help - vray@chaosgroup.com
If any of the servers fails, you should get a notification and the render client will try to reassign the buckets to another server.
The Distributed rendeing settings dialog is accessible from the System rollout of the renderer settings.
- this button allows you to manually add a server by entering its IP address or network name.
- this button deletes the currently selected server(s) from the list.
- this button resolves the IP addresses of all servers.