This article covers how V-Ray uses your hardware and how to choose the best components for a rendering workstation. The information is structured in a way that helps explain how different hardware components are used by the different computational tasks performed by V-Ray.
This guide also answers questions like:
How to choose the best hardware for rendering with V-Ray?
How V-Ray uses the different hardware components?
With the rapid advancement of software capabilities and computing power, it is natural to look for a "future-proof" hardware solution that can be used for several years ahead.
Since hardware is a very broad topic with a lot of different aspects, the purpose of this article is to establish the basic guidelines that help to better understand the hardware requirements for rendering with V-Ray.
Please note that Chaos' policy is not to give specific recommendations on computer hardware brands, models, configurations, or otherwise.
Faster is Better
V-Ray is developed and optimized to take advantage of the full capabilities of all hardware components: CPU, GPU, RAM, storage, network and motherboard. As a rule of thumb, the faster the hardware, the faster the rendering.
Both the CPU and the GPU devices can be used simultaneously with V-Ray. When using the V-Ray CPU engine, all available processor cores are engaged for rendering, but at the same time the GPU devices can be used for denoising and applying lens effects. Alternatively, when using the V-Ray GPU engine, V-Ray utilizes the graphics cards for rendering, but also partially uses the CPU (for example, when calculating the Light cache GI solution). Another use case is the hybrid rendering within V-Ray GPU, where both the GPU and CPU components can render at the same time.
This means that the rendering approach defines the hardware preference.
Minimum System Requirements
You can find the minimum system requirements for rendering with V-Ray for 3ds Max, SketchUp, Rhino and other products on their respective pages. The system requirements are the same for all products using the same major version of V-Ray.
It is best to choose your hardware based on research. The V-Ray Benchmark results offer an insight on V-Ray performance with different hardware configurations.
V-Ray Benchmark is a free tool by Chaos Group specifically designed to test how fast your hardware renders with V-Ray.
V-Ray Benchmark results page allows you to compare your machine to other user-submitted results with various hardware configurations. This is a very useful way of comparing hardware performance without physically testing different hardware configurations yourself. The results page is split into two main categories: CPU and GPU.
The CPU results cannot be compared to the GPU results, as the score points are different for the two engines.
Windows, Linux or Mac
V-Ray supports Windows, Linux and Mac platforms and the choice comes down to personal preference. There is a critical disadvantage on Mac platforms as there is no official support for GPU rendering. If you plan to use V-Ray GPU, Windows or Linux would be the better options.
More information on GPU rendering support on Mac can be found here.
The CPU is the most crucial hardware component for rendering. It performs almost all of the computations when using V-Ray CPU engine, which makes it the single unit that influences the render times the most. A faster CPU equals faster rendering.
It’s important to outline that CPU is also utilized when V-Ray GPU render engine is used. This is because it performs some of the computations on the CPU, meaning V-Ray GPU render times is faster with faster CPUs.
Hybrid rendering (CPU + GPU) can also boost the performance of V-Ray GPU when using a more powerful CPU.
For more information on Hybrid rendering with V-Ray GPU, read this Chaos blog post or refer to setting up Hybrid rendering for V-Ray GPU in 3ds Max, SketchUp, Rhino or look at the respective pages for other products.
V-Ray runs on both AMD and Intel processors, so the choice is down to user preference. Generally, a more powerful CPU is better than a dual-socket or multi-socket CPU system. NUMA configurations also tend to perform worse.
GPU rendering is becoming more and more popular as hardware gets more affordable, while performance keeps increasing. The faster the graphic card, the faster the GPU rendering.
Although the GPU devices are not directly used when rendering on the CPU, they can still be used for speeding up denoising and lens effects.
Currently, V-Ray GPU only runs on NVIDIA devices. AMD graphic cards are no longer supported as AMD stopped investing in OpenCL for rendering. AMD devices are still compatible with denoising and lens effects.
More information on OpenCL support can be found here.
V-Ray GPU supports CUDA-capable NVIDIA GPUs of the Maxwell generation and later (that is, GeForce 900 series and later).
Multiple GPU devices can be stacked together on the same machine to increase performance. Multiprocessor machines can only hold up to a few CPUs, while a dozen or more GPUs can be stacked on the same system.
Read more about V-Ray GPU rendering.
Memory has no direct impact on rendering speed. However, the more complex the scene, the more memory it may require.
If the scene requires more memory than the available system memory, then it is very likely that it will not render. The solution is to either install more memory or optimize the scene to use less RAM/VRAM.
CPU RAM Memory
CPU Memory (RAM) - is the memory that operates with the processor and is used by the V-Ray CPU render engine. CPU memory is stackable, which means that the total amount of memory is equal to the sum of all memory blocks installed on the system.
Using the Operating System's Page File could help prevent out-of-memory crashes. However, file paging is much slower than RAM and it will slow down the rendering dramatically. Кeep in mind that the page file size needs to be set to either automatic or at least twice the size of the available physical RAM.
NUMA configurations usually have a negative impact on rendering speed. Therefore, whenever possible, CPUs with uniform memory access should be preferred over non-uniform access (NUMA).
GPU VRAM Memory
VRAM is the memory installed on the GPU, which is different from the system RAM. Unlike the system RAM, the GPU comes with a fixed VRAM pool size, which cannot be extended.
Unlike RAM, VRAM cannot be stacked up. In other words, having two GPU devices with 8GB of VRAM each does not equal 16GB total VRAM. Actually, since V-Ray GPU needs to copy the scene on every GPU device, you will be limited to the GPU device with the least amount of VRAM. For example, using two GPUs for rendering, where one has 4GB and the other has 8GB of VRAM, you are limited by using 4GB of VRAM only.
NVLink - While VRAM cannot be stacked, it is possible to share the VRAM pool between two GPU devices. This is done by connecting the two GPUs with an NVLink bridge.
Read more about NVLink.
While NVink extends the memory pool, there are some limitations:
- NVLink can increase the render time by up to 5% due to data sharing;
- V-Ray GPU will not simply copy half of your data to one GPU and the other half on the other. For speed optimizations, some data buffers will still be copied to every GPU;
- You can only connect GPUs of the same model with NVLink. This means that you cannot link an RTX 2080 to an RTX 2070;
- The motherboard needs to support SLI to use NVLink with GeForce cards;
- To use NVLink with Quadro cards, the cards need to be configured to run in TCC (Tesla Compute Cluster) mode, which disables video-out capabilities of the cards;
- Only 1 pair of GPUs connected with NVLink is allowed when using GeForce cards. This limitation does not apply to Quadro cards;
- Cards can be connected with NVLink only in pairs. This means that a setup of 3 or any other odd number of cards limits you to the memory of the card with the lowest amount of VRAM. For best results, use only pairs of NVLink connected cards.
Overclocking can increase hardware performance, but at the same time, it may lead to hardware malfunctioning, affect system stability or introduce random system crashes. Chaos Group does not recommend hardware overclocking and if you experience any issues while rendering, we strongly suggest reverting back to the default system clock rates.
Network speed plays an important role when using Network rendering or Distributed rendering or when scenes and assets are stored on a network drive. When V-Ray starts rendering, it needs to load all the information to the system memory. If the network is too slow and the scene uses a lot of assets, then more time may go into transferring the assets than for actual rendering.
V-Ray does not provide tools for detecting network bottlenecks, but such tools can be found online.
Just as with networks, storage speed matters when V-Ray reads or writes files. Faster storage drives allow for read and write operations to be performed faster.
Solid-State Drives (SSD) are generally much faster than traditional Hard-Disk Drives (HDD) and allow your applications to start faster and you can save files faster. Additionally, the drive can be used to cache scene data, and again SSDs have a greater advantage over HDDs.