This page provides information on the System rollout in the Settings tab.
The System rollout gives you access to various parameters including those that control 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 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).
The System rollout also includes parameters that control V-Ray's Binary Space Partitioning (BSP) tree. One of the basic operations that V-Ray must perform is raycasting – determining if a given ray intersects any geometry in the scene, and if so - identifying that geometry. The simplest way to implement this would be to test the ray against every single render primitive (triangle) in the scene. Obviously, in scenes with thousands or millions of triangles, this is going to 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 into 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 – they contain references to actual triangles from the scene.
The next subsection in the System rollout includes parameters for the frame stamp. The frame stamp is a convenient way to put some short text over the rendered images. It can be useful in many ways – for example, in network rendering, to quickly determine which frames were rendered by which machine. The frame stamp is one line of text, which appears at the bottom of the image.
The following subsection in the System rollout deals with Distributed rendering. Distributed rendering is the process of computing a single image over several different machines. Note that this is different from distributing the frame over several CPU's in a single machine, which is called multithreading. V-Ray supports multithreading, as well as distributed rendering. Before you can use the distributed rendering option, you must determine the machines that will take part in the computations. Both 3ds Max and V-Ray need to be properly installed on those machines, although they don't need to be authorized. You must make sure that the V-Ray spawner application is running on those machines - either as a service or as a stand-alone application. For additional information on distributed rendering, please refer to the dedicated Distributed Rendering section.
The next subsection deals with parameters for the V-Ray log. These parameters control the V-Ray messages window. During rendering, V-Ray writes various information in the file C:\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).
The last subsection includes parameters that don't fall into the other categories and buttons to access other V-Ray settings. The following windows can be accessed through this rollout:
||Render Setup Window|| > Settings tab > System rollout
The following parameters are visible from the System rollout when set to the Default Render UI Mode.
Dynamic bucket splitting – When enabled, V-Ray automatically reduces the size of the render region as the rendering nears completion in order to use all available CPU cores.
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.
Bucket Image Sampler page.Division method – Controls the way the image is divided into buckets and therefore controls the meaning of the Bucket width and Bucket height parameters. For more information on buckets, see the
Size –The Bucket width and Bucket height parameters are both measured in pixels.
Count – The Bucket width and Bucket height parameters specify how many buckets are necessary to cover the whole image.
Post-effects rate – The frequency of post-effects updates, such as denoising and lens effects, during progressive rendering; roughly the percentage of time calculations are allowed to take compared to the total render time. Zero disables updates during progressive rendering. Larger values cause the effect to be updated more often. A value of 100 updates the post effects as often as possible. Values between 5 and 10 are usually sufficient. Viewport IPR always uses update rate of 100 unless the value is set to 0. If the value is 0, then the render is not denoised in Viewport IPR.
Autoswitch to effectsResult – With this option enabled V-Ray Frame Buffer automatically displays the effectResult channel after calculation of post effects is done. When disabled, the RGB color channel is displayed instead.
Dynamic memory limit – The total RAM limit for the dynamic raycasters which store dynamic geometry like displacement, VRayProxy objects, VRayFur strands, etc. 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. In V-Ray 3.60.01 and later, this is set to 0 by default to remove any limit, allowing V-Ray to work with as much memory as needed.
Use Embree – Enables the Intel Embree raycaster (on by default). For more information, please see The Embree Parameter example below.
Frame stamp – Turns the frame stamp on and off.
Edit box – Enter the text you wish to appear in the images. You can also use some special keywords, all of which begin with the percent symbol (%). The keywords are replaced by V-Ray with the corresponding value:
|%vrayversion||the current version of V-Ray|
|%filename||the name of the current scene file|
|%frame||the number of the current frame|
|%primitives *||the number of unique intersectable primitives generated for the current frame*|
|%rendertime||the render time for the current frame|
|%computername||the network name of the computer|
|%date||the current system date|
|%time||the current system time|
|%w||the width of the image in pixels|
|%h||the height of the image in pixels|
|%camera||the name of the camera for this frame (if rendering from a camera, empty string otherwise)|
|%"<maxscript parameter name>"|
the value of any V-Ray parameter, given its MaxScript name (see section on MAXScript). Note that you must enclose the parameter name in quotation marks ("). Also, note that this option only works when rendering to the 3ds Max frame buffer.
|%ram||the amount of physical memory (in KBytes) installed on the system|
|%vmem||the amount of virtual memory (in KBytes) available on the system|
|%mhz||the clock speed of the system CPU(s); note that this value may not always be reported correctly.|
|%os||the operating system|
|%numpasses||for progressive rendering, the number of rendering passes through the image|
|%numsubdivs||for progressive rendering, the maximum sampling rate among all pixels in the image|
|%noiseThreshold||the noise threshold reached (progressive sampler only)|
* An intersectable primitive is a primitive that provides a direct method for intersection with a ray (such as a triangle, the infinite plane generated by a VRayPlane plugin etc). Most often, the number of these primitives is the same as the number of triangles (faces) processed by V-Ray for the current frame. Note that this may be different from the total number of triangles in the scene. With the dynamic raycaster, only geometry that is actually needed is generated and accounted for. Geometry that is not generated is not included in this count.
Distributed rendering – Specifies whether V-Ray will use distributed rendering.
Settings... – Opens the V-Ray distributed rendering settings dialog. See the Distributed Rendering section for more information.
Language – Choose the preferred language for tooltips. The available options are English, Spanish, Brazilian Portuguese, Korean, Russian, Japanese and Italian.
Distributed Rendering Settings
Add server – Allows the user to manually add a server by entering its IP address or network name.
Edit server – Allows the user to change the data about a render server.
Remove server – This button deletes the currently selected server(s) from the list.
Resolve servers – This button resolves the IP addresses of all servers.
Restart servers on render end – Enabling this option will cause the 3ds Max copy on the render slaves to be restarted once a DR rendering is finished. This may help to make distributed rendering more stable.
Save servers in the scene – This option causes V-Ray to store the list of render servers into the 3ds Max scene. This is useful if the scene is later sent to Backburner for distributed rendering. In that case, instead of taking the DR servers list from the vray_dr.cfg file on the machine where the backburner server is running, the list will be taken from the 3ds Max scene.
Max servers – Allows the user to limit the maximum number of servers from the list to be included in distributed rendering. When set to 0, all listed servers will be used.
Use local host – When enabled, the client machine (the one from which the user initiates the DR render) will also take part in the rendering calculations. If disabled, the client machine only organizes the DR process, sends rendering tasks to the render servers and displays the final result.
Render region/test resolution warning – When enabled, V-Ray will display a warning if the render region or the test resolution option is enabled before sending a job to the network.
Transfer missing assets – Allows render servers to automatically download missing rendering assets from the client machine. This includes textures, V-Ray proxy files, IES profiles, GI solution caches (irradiance map, light cache), X-Ref scenes etc.
Use cached assets – This option tells the render servers to keep the downloaded rendering assets between different DR sessions. If disabled, the render assets are automatically deleted once the render server disconnects from the client machine at the end of the rendering. When enabled, assets are kept in a folder on disk. By default, it is named vray_assets_cache located in the temporary folder for the user that runs the V-Ray DR spawner. The location of the assets cache can be modified with the environment variable VRAY_ASSETS_CACHE_PATH. Modified assets are generally detected and re-transferred to the render servers even though they may already exist in the render servers' caches.
Cache limit type – Allows the user to specify under what conditions the assets cache is cleaned up. The possible values are:
None – Assets are never deleted from the render servers' cache.
Age (hours) – Assets are kept for the specified amount of time. At the end of the rendering, the render servers will delete assets that have been transferred before the specified time limit.
Size (GB) – When the size of the assets on a render server exceeds the specified amount, least recently used assets are automatically deleted at the end of each render until the folder size is less than the limit.
Cache limit value – The specific value of the limit for the asset cache. This is either hours or GB, depending on the value of Cache limit type.
The distributed rendering settings are stored in a text file called vray_dr.cfg, which is located in the 3ds Max plugcfg folder (normally, this is located in the local application data folder for the current Windows user). For general guidelines on Distributed Rendering setup, see the Set Up Distributed Rendering.
Example: The Embree Parameter
You can use Embree to accelerate 3D displacement and subdivision surfaces if you enable the Static geometry option in VRayDisplacementMod (however, note that this option can drastically increase the memory requirements for your scene).
VRayFur is not currently accelerated with Embree, although support for it is planned.
The following images were rendered with the Progressive image sampler and ran for the same amount of time. Using Intel Embree allowed the progressive sampler to compute almost twice as many passes thus producing a smoother image.
Use Embree is off, the image reached 62 passes
Use Embree is on, the image reached 118 passes
Note: 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 may lead to artifacts in some scenes with very large extents.
The following parameters are added to the list of visible settings available from the System rollout when set to the Advanced Render UI Mode.
Reverse bucket sequence – Reverses the region sequence order.
Previous (render) – Determines what should be done with the previous image in the virtual frame buffer when rendering starts. Note that this parameter has no effect on the final result of the rendering; it is implemented simply as a convenient way to distinguish between parts of the current frame being rendered, and parts left over from the previous rendering. The possible values are:
Unchanged – No changes are made - the virtual frame buffer remains the same.
Cross – Every second pixel of the image is set to black.
Fields – Every other line of the image is set to black.
Darken – The colors in the image are darkened.
Blue – The previous image is tinted in blue.
Clear – Removes the previous frame for the VFB.
Static – All geometry is precompiled into an acceleration structure at the beginning of the rendering and remains there until the end of the frame. The static raycasters are not limited in any way and will consume as much memory as necessary.
Dynamic – Geometry is loaded and unloaded on the fly depending on which part of the scene is being rendered. The total memory taken up by the dynamic raycasters can be controlled by the Dynamic memory limit parameter.
Auto – Some objects are compiled as static geometry, while others as dynamic. V-Ray makes the decision on which type to use based on the face count for an object and the number of its instances in the scene.
Use Embree for motion blur – Enables the usage of the Embree library for motion-blurred objects. This option is on by default, but note that Embree doesn't support multiple geometry samples for motion blur. Also, Embree for motion blur is not always faster than the default V-Ray motion blur raycaster.
Max tree depth – 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.
Use Embree for hair – Enables the usage of the Embree library for hair. Embree library uses spline curves to model the hair (which differs from the classic model in V-Ray). The user may expect some minor differences between Embree hair model and V-Ray hair model. These differences become more obvious if hair strands are larger than one pixel in the final image.
Face/level coef. – Controls the maximum amount of triangles in a leaf node. If this value is lower, rendering is faster, but the BSP tree takes up more memory - up to some critical point (which is different for every scene). Values below that critical point make the rendering slower.
Conserve memory – Embree uses a more compact method for storing triangles, which might be slightly slower but reduces memory usage.
Font – Allows you to choose a font and font attributes for the text in the frame stamp.
Full width – When enabled, the frame stamp takes the whole width of the image, otherwise the stamp is only as wide as the text is.
Justify – Specifies the position of the stamp:
Log window – Determines the conditions for showing the log.
Verbose level – Determines what kind of messages are shown in the window:
1 – Only error messages.
2 – Error and warning messages.
3 – Errors, warnings, and informative messages.
4 – All messages.
Log file – Determines the location and the name of the log file. The default log file is %TEMP%\VRayLog.txt
Check for missing files – When enabled, V-Ray tries to find any missing files in the scene and puts up a dialogue listing them, if there are any. The missing files also are printed to the C:\VRayLog.txt file. If this option is on, and you render the scene with distributed rendering, and if a render server detects missing files, it refuses to render the scene.
Optimized atmospheric evaluation – Normally in 3ds Max, atmospherics are evaluated after the surface behind them has been shaded. This may be unnecessary if the atmospheric is very dense and opaque. Turning this option on causes V-Ray to first evaluate the atmospheric effects and shade the surface behind them only if the atmospherics are sufficiently transparent.
The Low thread priority option is removed from the UI in V-Ray Next. The option is always enabled during GUI sessions, and disabled when 3ds Max is used as a render server.
The following parameters are added to the list of visible settings available from the System rollout when set to the Expert Render UI Mode.
Min leaf size – The minimum size of a leaf node. Normally 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 stop subdividing if the size of a node is below a given value.
Memory tracking – Enables tracking of how much memory is used by V-Ray for different categories of objects like textures, geometry, GI, image sampling, etc. Enabling this option generates .html reports with detailed information on memory usage.
Output directory – Specifies the location to save the memory reports. The default location is the user temp directory.
Show latest stats – Opens the last saved report in a browser.
ShadeContext in camera space – V-Ray carries all its computations in world space. However, some 3ds Max plugins (notably atmospherics) take it as granted that the renderer works in camera space because this is what the default scanline renderer does. To preserve compatibility with such plugins, V-Ray emulates work in camera space by converting the various points and vectors passed to and from other plugins. In addition to slowing down V-Ray by forcing it to convert values all the time, working in camera space messes up with camera modifiers such as the Technical camera script. This is why you have the option of turning off the camera-space emulation.