This page provides a step-by-step introduction to V-Ray Swarm for Revit.
This tutorial covers how to use V-Ray Swarm, a distributed rendering system that allows you to render on multiple machines at once using a simple web interface. Swarm provides dynamic control of several machines to render scenes out at a significantly faster rate than locally on a single computer. This tutorial includes how to install Swarm onto machines without even needing Revit installed, how to access and control the Swarm options, and how to get a Swarm render running inside of Revit.
To follow this tutorial, you will need to have the V-Ray for Revit plugin installed on a host machine, and at least one other windows computer to use as a render node. Revit does not need to be installed on the secondary machine. This tutorial is a companion to go along with the QuickStart video posted on our YouTube channel and available here:
To download the files used in this tutorial, please click on the button below.
Swarm Installation Options
Swarm can be installed alongside V-Ray for Revit, but also may be installed on its own by launching the V-Ray installer and selecting to install just V-Ray Swarm. You do not need to install Revit or V-Ray for Revit on a machine that you just want to use as a render node; just install Swarm.
Likewise, you don’t need to install Swarm if you do not want the machine to be a render node. You can just install Revit and V-Ray for Revit without Swarm and still be able to render on render nodes with Swarm.
If you have already installed V-Ray for Revit and it's license on a machine you wish to install Swarm, you do not need to install the license server. However, if you are installing Swarm on a machine that does not have V-Ray for Revit already installed and licensed, then you will need to install the license server and follow licensing procedures found here. For general instructions on V-Ray and Swarm setup and installation, click here.
For this tutorial, we'll install Swarm on a render node that does not already have Revit or V-Ray installed as we will use this machine is just a render node. Run the Installer and check V-Ray Swarm 1.4.1 to just install that component.
It's likely that you don’t need to change any of these settings. Just make sure to uninstall any previous installations if you have any, and make sure Add firewall exceptions is checked on. Click Install Now.
That’s it. You’ll want to install Swarm on all machines you wish to distribute renders to.
The local machine always uses 1 render node license during rendering. A render node license is required for each additional render node machine participating in the job.
V-Ray 3.5 for Revit trials come with 1 render node license. To evaluate V-Ray Swarm, you can request additional render nodes by contacting firstname.lastname@example.org
Now that we’re installed, we can get into the configuration interface for the node.
Open up a web browser,. To access the interface, you’ll need to type in the browser “localhost:24267” where the 24267 is the port you used in the installer. If you changed the port during installation, enter that port # instead, otherwise 24267 is the default.
As a side note, you can remotely access Swarm installed on a different machine by typing in that machine’s IP address and the port number instead of using “local host”.
Now that we’re in the localhost, the first view we see here is the Log view. This is where you would see any messages for the current machine as it is rendering. Right now it will be blank, as nothing has rendered yet.
Lets head to the Configuration options from the top left menu.
Making any changes to Configuration here requires that the node be disabled for rendering before those changes take effect. So go ahead and disable the node at the top right the options will become available.
Tags allow you to tag this node with a descriptor that defines something about the machine, which we can later use to selectively control from inside of Revit.
For example, if this machine is one of a few that have a powerful GPU, or if a machine is not a workstation and a node on a render farm.
Let’s tag this machine as “RenderFarm” and click Add. All of these nodes will come with the default tag.
Information further down the page tells you things like the license info for this node. This node is using its own local license server, but if you need to change that just click off the check box here and enter the proper information.
Scrolling down below are a list of environment variables, which advanced users may decide to change as needed, but overall, there’s really nothing here we need to change aside from adding any tags to the node to help you organize your render machines.
Since we did add a tag, We’ll click Save up at the top-left of the interface to commit that change and then go ahead and re-enable the node.
Now let’s take a look at the Network page.
This page shows all the available Swarm machines on the network. You can see the top machine is the current machine we’re on, and here we can confirm the addition of the tag that we added.
You’ll also see the V-Ray version that node is currently using along with the number of CPUs and GPUs that machine has, along with the CPU and memory usage at that moment.
Through this page, you can select a machine and remotely enable or disable it through the information panel. We can select multiple machines using the shift and/or control keys when selecting additional nodes.
Here we’ll copy our local machine’s settings to two other machines. Select those two machines.
First disable them, then click Copy Configuration. This will copy the configuration from the current machine (the top one listed) to the two machines selected.
Now that you can see the tags carried over to the two machines, let’s re-enable them to bring them back online.
Resource Usage Page
Let’s now change to the Resource Usage page. This shows the current usage of the machines, from CPU to GPU to memory and network traffic and even storage space available for that node.
Setting up V-ray for Revit to use the Swarm.
Now let’s see Swarm in action on a Revit project.
Open up any project. Here we’re using Swarm.rvt which you can download from the link at the top of this page, or use a sample project or a personal project of your own to move forward with Swarm.
Let’s go over the settings for Swarm. Click the V-Ray tab and go to the Settings icon in the toolbar. Click Swarm and you’ll see the same settings you had in the installer.
Click on Refresh to see the tags for the machines that are currently running. This is where the “renderfarm” tag we created comes in handy. You can click on the tags to enable or disable them so that your Swarm render distributes only to the machines with that tag, which we set to “renderfarm” here. Selecting both will distribute to machines that have one or the other. This can be done while rendering.
Click the Render Farm tag to enable it. since all the machines have that tag right now, so my render can use all the available machines. Close the Settings window.
To help illustrate the speed increase, change the quality from High Quality
Click on the Render drop-down to access the Swarm button to enable Swarm.
Now click on Render With V-Ray icon to start this rendering. V-Ray will first calculate secondary Illumination, so you won’t be able to have a visual representation of the other machines jumping in to help this render until V-Ray gets to rendering the buckets. At that point, each machine will generally have 2 buckets per CPU core, so your machine will have more or less depending on the CPU.
If you zoom in, You can see the computer’s name in the buckets. This signifies what machine is working on each bucket.
In the V-Ray Rendering Progress dialog, click on the Distributed Rendering arrow to expand it. This bar shows how many machines are being used. If you slide the Goal slider to the right, you can dynamically add more machines to this render.
The system will have to send project files to the render node, so it takes a moment for the transfer. As soon as it completes the transfer, you can see a slew of new buckets appear on the image that are being processed by the other Swarm machines.
Sliding the percentage to use a higher percentage of the available render nodes will kick more nodes on to the render as you need. Sliding to the left moves machines from the render.
Managing the swarm while rendering
If you go back to your web browser, you can see that the machines are rendering. You can see which of the render nodes are connecting to the particular machine that is casting out the render to the Swarm by the IP address next to its status.
If you had already closed the web browser, it’s easy to get back here by just clicking the Launch V-Ray Swarm icon here in the rendering progress dialog. This will connect to a random node that is currently rendering to see logs and resources.
Disabling a node will take it out of the available machine pool and it removes the machine from any current renders. Once re-enabled, it will be placed back in the rendering pool, so you can dynamic add or remove nodes in a Swarm render as needed.
Render Time Comparison
Here we can see the image being finished up with distributed rendering using V-Ray Swarm, saving me a lot of time over rendering on just my local machine.
Host machine render time: 9 m 34.8 s
Swarm render time: 2 m 8.9 s