This article explains the V-Ray and V-Ray GPU renderers and how to choose between the CUDA, RTX, and Hybrid render engines for best performance.
Overview and terminology
V-Ray provides two renderers - V-Ray and V-Ray GPU.
The V-Ray GPU renderer is designed to provide you with the maximum rendering performance from your system. To do so, V-Ray GPU provides multiple engines to choose from that are native to the different types of processors:
only NVIDIA RTX GPUs (RTX)
all NVIDIA GPUs (CUDA)
Intel-compatible x86 CPUs (CUDA-x86).
Choose the right V-Ray GPU engine for your scene
Which engine is best for your scene will vary, because code executes differently on the three processor types.
For example, using the same RTX-class GPU, a scene with heavily layered shading will most likely be fastest using the CUDA engine, while a scene that has simple shading and a heavily instanced geometry will very likely be fastest using the RTX engine.
How GPUs and CPUs process ray tracing
GPUs were originally designed just for graphics, and have specific hardware and software (drivers) to run graphics APIs standards such as DirectX, OpenGL, etc. While they are very fast, these standards do not support ray tracing and make it very difficult to run general programming. As a result, any renderer based on them is limited to what the standard supports and is the primary reason why you can easily identify a game image from a photorealistic rendering.
Being a graphics processor, the GPU has many cores and efficiently processes parallel tasks (e.g. displaying all of display pixels at once), whereas the CPU was designed for linear executions – one after another. NVIDIA’s CUDA programming language allows general processing code (similar to C) to run on the GPU, and is a perfect fit for tasks that are highly parallel. Ray tracing is often called “embarrassingly parallel” (as so many rays are being evaluated at once) and can execute quickly on GPUs with proper code, such as V-Ray GPU provides.
Over time, CPUs have continually added more cores, making them more adept and handling parallel operations like ray tracing, and the V-Ray renderer takes full advantage of this.
The V-Ray GPU renderer can also leverage CPU cores by running its CUDA engine on the CPU - this is called CUDA-x86 mode. Additionally, V-Ray GPU can run its CUDA engine on the GPU, while at the same time running it on the CPU, allowing every processor in the computer to speed rendering. The industry has nicknamed this “hybrid” or “XPU” rendering, meaning a “total system performance”.
For details and setup guidance, see Understanding V-Ray’s hybrid rendering.
NVIDIA RTX and the V-Ray GPU RTX engine
In recent years, specific hardware was added to NVIDIA GPUs for processing ray tracing in GPUs having “RTX” in their name. These GPUs have new “RT Cores” just for ray tracing, and require specific code to leverage them – such as with the V-Ray GPU RTX engine. This mode can be very fast if your scene matches what the RT Cores are good at.
Learn more in V-Ray GPU adds support for NVIDIA RTX.
V-Ray GPU engines explanation
V-Ray GPU includes three engines - CUDA, CUDA‑x86, and RTX, that are fully compatible and produce visually identical results. You can switch between V-Ray GPU engines without risking flickering, even when network rendering across machines with different modes and hardware.
Use the guidance below to pick the fastest option for your setup:
- If your machine has no NVIDIA GPU, use the CUDA‑x86 engine to render on the CPUs.
If your machine has a non-RTX NVIDIA GPU, use the CUDA engine in combination with CUDA-X86 for total system performance.
- If your machine has an RTX GPU, render a representative frame with RTX and with CUDA (+ CUDA‑x86) to see which is faster for your scene. You can use the Device Selector tool to choose devices and switch engines.
- If you do not want to use all available GPUs for rendering - especially if you have multiple GPUs and want to keep one free for the user interface, learn how to configure this in Using interactive rendering in V-Ray GPU.
Do not switch between V-Ray and V-Ray GPU mid‑project
Although the CUDA, CUDA-x86 and RTX engines share the same user interface as the standard V-Ray Renderer, V-Ray GPU differs from the regular V-Ray engine in the way it performs certain calculations. Comparing the results will never come to a one-to-one match, although it may look quite close. Furthermore, it is not the goal for them to be the same.
This is why it is strongly recommended to not switch between renderers in the middle of your project. If you start setting up a scene with the V-Ray GPU renderer, the UI will only show the supported options and your scene will be optimized for GPU rendering.
Key benefits of V-Ray GPU
V-Ray GPU delivers high performance on supported GPUs and scales efficiently across multiple devices on a single workstation.
V-Ray GPU has a number of advantages:
- Fast feedback and final renders, since GPUs often outperform CPUs for massively parallel compute workloads.
Multi-GPU scalability on a single machine, so you can use all available GPU devices and keep hardware from sitting idle. Learn more in Multi‑GPU scaling for CUDA and RTX modes.
Easy to expand or upgrade your hardware, by adding or swapping a GPU in your workstation.
If you have a powerful workstation you can take advantage of all its computing power. Nothing is left idle. CPUs with very high core counts (e.g., an AMD Threadripper) can often rival the speed of high-end GPUs.
V-Ray GPU has all necessary production-ready features suitable for professional rendering pipelines.
Choose a GPU based on performance
Before you start, review the V‑Ray GPU minimal and recommended system requirements, including supported GPUs and recommended drivers.
To choose a graphics card for V-Ray GPU, prioritize GPU performance and enough memory to hold your scenes:
Performance: V-Ray GPU performance scales nearly linearly across CUDA cores and core clock speed for a given GPU generation. For details on how newer generations compare, see performance scaling for Nvidia GPUs by generation. Also, to check performance use proprietary V-Ray Benchmark tool, that measures performance for V-Ray GPU and lets you compare your hardware to others. The V-Ray Benchmark index lists results across different GPUs and configurations.
Note: V-Ray GPU performance scales nearly linearly across multiple GPUs. While GPUs in a multi-GPU system can vary in their type, speed and generation, the highest efficiency is usually found when combining GPUs of the same generation and of similar performance.
Memory: The entire scene being rendered (geometry, textures, buffers, etc.) must fully fit into GPU memory when using either CUDA or RTX mode. The more graphics card memory is available the more details, textures and models can be added to your scene.
Note: When running in CUDA-x86 mode, the system’s RAM is used (paging is supported). If your scene exceeds your GPU’s memory, you can often render the scene using CUDA-x86 mode.
Requirements for memory pooling between GPUs
V-Ray GPU can pool memory across pairs of GPUs that support NVLink and have a physical NVlink bridge installed.
For example, two cards having 24GB each can support scenes requiring 48GB when using NVLink. NVLink support can be found on the larger GPUs previous to the Ada generation.
For setup details and supported hardware, see the NVLink setup FAQ.