Table of Contents

This page provides information on the System rollout under the System tab in V-Ray's Render Settings.

Overview


In this section you can control a variety of V-Ray parameters related to the overall operation of the renderer.

UI Path



||Properties editor|| > Render > System tab > System rollout


Parameters


 

Threads


These options control how V-Ray uses your CPUs and how many threads it will run on them. 

Auto-detect – When enabled, V-Ray detects the number of available CPU threads and use them all.
Fixed – Allows you to manually specify how many threads V-Ray uses.
Count – Specifies the number of CPU threads that V-Ray uses.

 

Raycaster parameters


One of the basic operations that V-Ray must perform is raycasting, the process of determining if a given ray intersects any geometry in the scene, and if so, identifying that geometry. From a technical perspective, the simplest way to implement raycasting would be to test the ray against every single renderable triangular face in the scene. Obviously, in scenes with thousands or millions of triangles, this would be very slow. To speed this process, V-Ray organizes the scene geometry into a special data structure called a Binary Space Partitioning (BSP) tree. 

The BSP tree is a hierarchical data structure, built by subdividing the scene in two parts, then looking at each of those two parts and subdividing them in turn, if necessary and so on. Those "parts" are called nodes of the tree. At the top of the hierarchy is the root node - which represents the bounding box of the whole scene; at the bottom of the hierarchy are the leaf nodes, which contain references to actual triangles from the scene.

The settings in this area of the System rollout control various parameters of V-Ray's BSP tree.


Max tree depth  Specifies the maximum depth of the tree. Larger values cause V-Ray to take more memory, but the rendering is faster - up to some critical point. Values beyond that critical point (which is different for every scene) start to slow things down. Smaller values for this parameter cause the BSP tree to take less memory, but rendering is slower.

Min leaf size – Specifies a minimum leaf node size. By default this is set to 0.0, which means that V-Ray subdivides the scene geometry regardless of the scene size. By setting this to a different value you can make V-Ray quit subdividing if the size of the node is below the specified value.

Face/level coeff – Sets a limit for the maximum amount of triangles in a leaf node. If this value is lower, rendering is faster, but the BSP tree takes more memory - up to some critical point (which is different for every scene). Values below that critical point make the rendering slower.

Low thread priority – When enabled, the rendering process has a lower thread priority to allow other processes to run faster.

Dyn. memory limit(MBs)  The total RAM limit for the dynamic raycasters. Note that the memory pool is shared between the different rendering threads. Therefore, if geometry needs to be unloaded and loaded too often, the threads must wait for each other and the rendering performance suffers. It's also possible to enter a negative number, which causes actual memory usage to depend on the physical memory of the particular machine.

Use Embree – Enables the Intel® Embree raycaster. For more information, please see the Embree parameter example below.

Use For Motion Blur – Enables the usage of the Embree library for motion-blurred objects. This option is off by default as Embree doesn't support multiple geometry samples for motion blur, which may lead to artifacts in the rendered image if there are in fact multiple geometry samples in the scene. Also, Embree for motion blur is not always faster than the default V-Ray motion blur raycaster.

Use For Hair  When enabled, V-Ray uses the Embree library to speed up the rendering of hair.

Low Memory – Embree uses a more compact method for storing triangles which is slightly slower but reduces memory usage.

Ray Packets – Trace packets of rays instead of single rays. This is an experimental feature and may or may not improve the rendering speed depending on the scene.

 

Render Region Division 


 Here you can control various parameters of V-Ray's rendering regions (buckets). The bucket is an essential part of the distributed rendering system of V-Ray. A bucket is a rectangular part of the currently rendered frame that is rendered independently from other buckets. Buckets can be sent to idle LAN machines for processing and/or can be distributed between several CPUs. Because a bucket can be processed only by a single processor the division of the frame in too small a number of buckets can prevent the optimal utilization of computational resources (some CPUs stay idle all the time). However, dividing the frame between too many buckets can slow down the rendering because there is some time overhead related with each bucket (bucket setup, LAN transfer, etc). 

Sequence – Determines the order in which the regions are rendered. Note that the default Triangulation sequence is best if you use a lot of dynamic geometry (displacement-mapped objects, VRayProxy or VRayFur objects) since it walks through the image in a very consistent manner so that geometry that was generated for previous buckets can be used for the next buckets. The other sequences tend to jump from one end of the image to another which is not good with dynamic geometry. 

Buckets – This parameter controls the way the image is divided into buckets. 

Width/Height  When this mode is selected, the X Size and Y Size parameters are both measured in pixels.
Count  When this mode is selected, the X Count and Y Count parameters specify how many buckets are necessary to cover the whole image. 

Lock Size – When enabled the buckets are always square and their size is controlled with the Size parameter. 

X/Y Size – The size of the bucket in the x and y direction. 

Reverse  Reverses the region sequence order. 

Console Log


These parameters control the V-Ray messages window. During rendering, V-Ray writes various information in a file located at %Temp%\vraylog.txt. The messages window shows some of that information so that you can view it without the need to manually open that file.

 Each message can fall into one of four categories, which are colored in a different way in the messages window. Those categories are errors (colored in red), warnings (colored in green), informative messages (colored in white) and debug messages (colored in black).

 

Log Level – This determines what kind of messages are showed in the window. 

All
Progress
Warnings
Only errors
No information

 Show Progress – Controls how often V-Ray prints out messages. 

Always
Verbose > Only Erros
None

 



 

 


 

 Example: The Embree Parameter


The Embree raycaster process dynamically builds algorithms that best match the instruction set of the CPU, thus speeding up the raycasting process overall. Currently, in V-Ray, the Embree process accelerates only the calculation of rays for static geometry (as opposed to dynamic or render-time geometry). To get the best performance, setting the  Default geometry parameter (question) to Static is recommended as this will use more memory (any instances will be replicated), but the rendering will be much faster. You can also use Embree to accelerate 3D displacement and subdivision surfaces if you enable the Geometry generation option (question) in VRayDisplacementMod  (however, doing so can drastically increase the memory requirements for your scene).

VRayProxy objects, VRayFur and all hair geometry are not currently accelerated with Embree, although support for VRayProxy objects is planned for a future release.

The following images were rendered with the Progressive image sampler over a set period of time. Using Intel® Embree allowed the progressive sampler to compute almost twice as many passes within the rendering time, thus producing a smoother image.

 

 


Use Embree
is Off, the image reached 62 passes

 


Use Embree
is On, the image reached 118 passes

 

 

 

Note that the Embree raycaster derives its speed partly from the usage of single-precision floating point numbers, whereas the standard V-Ray raycaster selectively uses double precision. This lower precision of Embree might sometimes result in artifacts in scenes with very large extents.