Diagnostics - Arnold for Maya
Further Reading |
---|
See Render Settings in the Arnold User Guide |
These settings will help you monitor, troubleshoot, and optimize your Arnold renders.
Log
Arnold can generate a log reporting all the steps needed to render an image and any warnings and errors encountered by the renderer. This log also provides detailed statistics that are useful for debugging, optimizing, and benchmarking renders.
- The Arnold log provides detailed statistics that are useful for debugging, optimizing, and benchmarking renders. It is the first thing to examine should you encounter errors and usually the first information to send to support.
- You can open an Arnold Render Logs window directly from the Arnold RenderView window where you can view a simple-to-read version of the Arnold log.
- Note that an individual log file will be saved for each frame of animation that has been rendered.
Verbosity Level
Specifies the amount of information in the log messages, with Warnings being least and Debug most:
- Errors: Show errors only.
- Warnings (default): Show error and warning messages.
- Info: Show errors, warnings, statistics, and any info that does not slow down rendering.
- Debug: Show all information. Take care when using this mode as render times may increase.
Console
Shows the log in Maya's Output Window (on Windows). On OSX or Linux, if you start Maya from a terminal window, then the log is output to that terminal window (otherwise, click the File checkbox to output the log to a file).
On Windows, if you start Maya using the Windows Start menu, you may not see the Arnold log in the Output Window. If this happens, you can either start Maya from the command line (and then the Arnold log will show up in the Output Window) or enable File logging.
File
If enabled a log is written to the specified file.
Filename
Specifies the output path for Arnold log files. You can use environment variables. You can use padding () in the file name.
Max. Warnings
Limits the number of warning messages (of a similar type) that are sent to the log.
MtoA Translation Info:
Dumps debug messages from MtoA during IPR updates, etc.
Startup Log verbosity
It is possible to use a Maya Environment Variable to control the log verbosity when loading the MtoA plugin. To do this you must add the following text to the Maya.env file. For example:
MTOA_STARTUP_LOG_VERBOSITY = 3
There are 4 levels for this logging:
0 Nothing.
1 Warnings and errors.
2 Warnings, errors and infos (how many extensions we register, how many shader nodes are created, what plugin is loaded).
3 Everything.
Note that you must first run Maya through the command line or a batch file to view the log in Maya's Output Window (Windows) or in the console (Linux).
Render Statistics/Profiling
An extensive set of tools that allow performance issues to be more easily identified and rendering processes optimized. Additional timing statistics organized by both nodes and categories can be output to JSON files. This makes it possible to know which objects are most expensive to render and which parts of the renderer took the most amount of time. It also allows for detailed profiling visualizations by outputting trace information into a file, such as "my_profile.json", by calling AiProfileSetFileName("my_profile.json")
or kick -profile "my_profile.json"
, and then loading the JSON file in Google's Chrome web browser " chrome://tracing/ " or into https://www.speedscope.app/.
Render Statistics
Creates a JSON object for each render pass that gets collected in the stats file, with an increasing number for each pass placed into the file ("render 0000", "render 0001", etc). So if you are appending, the highest-numbered render group is the most recent one. Otherwise, with overwrite, it will only contain one object with the most recent pass.
Stats Mode
Create a filename and choose either "append" or "overwrite" mode.
Profile
Profiling can be enabled, and a filename can be set.
Error Handling
Abort on Error
If set, rendering will stop as soon as an error is detected. This is the recommended setting. In general, you should not ignore important error messages, or you'll risk crashes, rendering artifacts, and undefined behavior.
Texture Error Color
Color used to report texture errors.
NaN Error Color
Color used to report NaN's.
Scenes that contain a bad mesh will render green. Scenes that contain a bad shader will render magenta.
User Options (override)
This is a general-purpose property, consisting of a string. This string field can be set to override any parameter of an Arnold core node. This allows you to, for example, access and set Arnold core parameters currently not exposed in the user interface. The property can be applied to poly-meshes, hair, and lights.
This is a powerful option and should be used with some care. T he string is passed to the Arnold node directly, and it is up to the user to fully understand the parameters being set.
For example, if sharper renders are important, you could set texture_max_sharpen to 1.5. Another example would be to set options.gpu_sparse_textures to 0 to disable sparse textures.
You can query the list of parameters an Arnold core node has by using a kick. For instance, you can get the attribute names of a polymesh node by using:
kick -info polymesh
Always refer to the core Arnold nodes (see the bottom of page), and not to the parameter's name as exposed in the Arnold plugin.
If you want to set multiple Arnold parameters in a user_options string, you can use any whitespace (spaces, tabs, newlines e.g., \n) that you would use in an actual ASS file.
'kick -info polymesh' parameters available through
Feature Overrides
This group of switches allows you to disable a number of important rendering features. By selectively disabling some features, you can get a feel for where the renderer is spending most of the time, which helps optimize scenes. Lighting or look-dev could be sped up by enabling ignore_textures or ignore_shaders for example. This is also useful for isolating errors and artifacts when debugging. Note that not all of these options are interactive - some of them may require the entire scene to be refreshed/exported.
Force Shader Assignments (translation of Shading Engines)
Forces MtoA to export shape nodes with a shader link. This allows you to keep your shapes and shaders in separate ASS files. For example, you could have one stand-in that loads the shapes, and a second stand-in that loads the shaders. As long as the shape nodes include links to the shaders, Arnold will resolve the links and render the shapes with the right shaders.