Table of Contents

This page provides information on Distributed Rendering with Chaos Phoenix.

Overview


Distributed Rendering (DR) is a technique for dispersing rendering jobs within a single frame across multiple 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 task and giving each participant different parts to complete. The most common way to do this is to divide the frame to be rendered into small regions and giving each rendering machine one after another until the entire frame or job is complete. Then the results are combined into the final image.

Note that a distributed simulation in which different parts of the same simulation are calculated across several machines is currently not implemented. However, you can use Phoenix's Simulation licenses to run many simulations on separate machines without using the Graphical User Interface and without engaging a GUI license. You can use this to script different functionalities such as simulating one scene on a different machine while you prepare another scene, or simultaneously running copies of the same scene with slightly different simulation settings on several machines and then compare and pick the best looking one. Please check the GUI and Simulation Licenses section for more information.


Setting up Phoenix Distributed Rendering using V-Ray


For more information on distributed rendering using V-Ray, see the Distributed Rendering page.


Troubleshooting


If you're able to render locally but when using DR machines, the Phoenix fluid is missing from the buckets, please try the following:

  • Try using the latest versions of Phoenix and V-Ray.
  • Confirm that the version numbers are the same on all DR machines.
  • Make sure the V-Ray Render Settings → Settings → Distributed Rendering → Transfer Missing Assets option is enabled. This option allows render servers to automatically download missing caches from the client machine. For more details, see Distributed Rendering of Fluid Caches for Phoenix below.
  • In case you are using a shared network folder, check if the simulation caches are shared on a network location that all the machines can see. Note: They all must have permissions to access this network folder.
  • Confirm that your V-Ray Spawner is started as an administrator on the remote machines. For more details, see Mapped Drives and UNC Paths for Texture Maps and Other Rendering Assets below.
  • Make sure your V-Ray Spawner is run as the same account as the one you are testing the permissions with. Your local account might be able to see the shared network folder but the spawner might be started with a different user account which doesn't have proper permissions.



Distributed Rendering of Fluid Caches for Phoenix


A common problem when setting up Distributed Rendering is that by default Phoenix looks for the cache files in the same directory as the scene file using the $(work_path) keyword. However, at the start of a network render, the scene file is copied to all render machines on the network to a new location (e.g. C:\Users\user\AppData\Local\backburner\Jobs\) while the cache files are not automatically sent to the host machine(s). They are not sent because they may be really huge and may overload the network and the disk space of the host, and would take too much time to transfer, which will greatly reduce the performance of Distributed Rendering.

To automatically send the caches to a host machine(s), you can use the Transfer Missing Assets option, located in V-Ray Render Settings → Settings → Distributed Rendering tab. This way, the render servers will automatically download the missing caches from the client machine. For more information on Distributed Rendering settings, see the Distributed Rendering page. Keep in mind that the transfer of large cache sequences may slow down the Distributed Rendering process.

In case you don't have enough space on the machines, you can move the cache sequence to a shared folder on the network or a mapped network drive and set its path in the Input rollout, using a network-visible UNC path (a path that starts with \\). You can also browse from the Input rollout Path options.

If you are not using a UNC path or a mapped network drive, and instead your path points to a drive on your local computer or is one of the Phoenix keywords ($(work_path), $(scene_path), $(implicit), $(scene_dir), etc.), you will receive a message that states "You are using local machine Input path with distributed rendering!".


Mapped Drives and UNC Paths for Texture Maps and Other Rendering Assets


If you are using mapped drives or UNC paths for your scene assets, you should set up a "Log On" account for the V-Ray spawner service, otherwise, the textures or any other external assets won't be accessible. To set up the Log On account, open the Services applet from the Control panel (Control panel > Administrative Tools > Services) and find "VRayMayaSpawner 20nn" then right-click to expand the drop-down menu and choose Properties. Go to the Log On tab and instead of the default Log on as local system account choose This account and put the name of an account that has adequate privileges on the machine and access to the shared resources over the network.

Alternatively, you can use the automatic asset transfer mechanism of V-Ray as described above to send the required assets from the client machine to the render servers.