You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

 

Render Options

Software version : 10.0.148 (Jun 17 2013)
* Render Options :
    Render used the 'raytrace' hider
    Image resolution: 640 x 480
    Pixel oversampling: 2 x 2
    Total number of displays (AOVs) : 2
    Shared instances (for massive instancing) : on
 

The information included in these statistics give some general information about render settings that can affect performance. The first line is always the software version so it is easy to see what 3Delight version was used to render the frame.

StatisticDescription
Render used the 'raytrace' hider
This says wheter REYES or ray tracing (default) was used to render the images.
Image resolution: 640x480
Image resolution.
Pixel oversampling: 2 x 2
The oversampling used for this image.
Total number of displays (AOVs)
Says how many AOVs are output in the current render.
Shared instances (for massive instancing) : on
This says if 3Delight is using a special optimization to render large amounts of object instance (this is on by default).

System

* System :
    Total physical memory : 8.6GB
    CPU Physical cores count: 2, logical cores count: 2
    Render threads started by user : 2
    Network reads : 1.48 Mb total. Transfer rate: 137.6 Kb/s
    Network writes : 1.48 Mb total. Transfer rate: 137.7 Kb/s
    Load average: 1.2 0.9 1.1
    Time to first pixel : 1 seconds.

This statistics block gives information about the system that was used to render.

StatisticDescription
Total physical memory : 8.6GB
Gives the total amount of memory installed on the system.
CPU Physical cores count: 2, logical cores count: 2
Gives physical and logical core count. Logical core count includes "hyperthreading" processors.
Render threads started by user : 2
Says how many threads have been started by the user.
Network reads : 1.48 Mb total. Transfer rate: 137.6 Kb/s
This interesting statistics gives the total amount of data that has been read from the network while rendering the image. Note that this count all the network data and not only the data that is used for rendering. This statistic is helpful to debug network performance problems.
Network writes : 1.48 Mb total. Transfer rate: 137.7 Kb/s
Similar to the statistic above but for network writes.
Load average: 1.2 0.9 1.1
Load average is a gauge of how many processes are on average, concurrently demanding CPU attention. The three numbers are averages for 1, 5 and 15 minutes. Very detailed description of load averages can be obtained on Linux manpages of uptime. A good technical overview can be found here and good vulgarization can be found here.
Time to first pixel : 1 seconds.
This somewhat misplaced statistic shows the time it took before the first pixel has been sent to the user. It is always a very important goal in 3Delight to minimize this time.

Profiling

* Profiling :
    
    task                       time
    raytracer init               0.0
    raytracing                  10.3
    surface shaders              0.0
    imager shaders               0.0
    texture loading              0.1
    display drivers              0.2
    screen filtering             0.1
    raytrace hider               1.0
    Total :                     11.6
    
    Total process times (user/sys/real) : 19.56 / 0.27 / 11.66
    CPU use : 167.8% user + 2.3% sys = 170.1%
 

This statistic block gives several timings about the render. Each task shows the wall clock time it took in the total render time. Follows a description for all possible tasks.

TaskDescription
raytracer init
 
This task includes all the work that needs to be done before starting the space parition. Basically this means iterating through all scene objects and prepare structures for the upcoming render.
ray tracer instance init
This task counts the time that is spent on optimizing instances (when "shared instances" are enabled).
space partition init
This task counts the time it takes 3Delight to build the space partitioner (a BVH-like structure). The time spent here will go proportionally with the scene size.
surface shaders
Counts the amount of time the renderer is spending inside surface shaders. Complex shaders (as generated, for example, by comlexe shading networks in Maya or Softimage) will lead to higher times in this task.
light shaders
Counts the time spent in light shaders.
volume shaders
Counts the time spent in volume shaders.
displacement shaders
Counts the time spent in displacement shaders.
imager shaders
Counts the time spent in imager shaders.
RSL plugins
Counts the time spent in custom RSL plug-ins.
shadowmap filtering
Counts the time spent filtering shadow maps to render shadows.
dsm filtering
Same as for shadow map filtering but for deep shadow maps.
texture filtering

Counts the time spent filtering texture maps. If this times seems too high compared to total render time (>10%) it could be one of the following reasons:

  1. Textures are not properly mip-mapped. Running tdlmake is mandatory for good performance.
  2. Texture lookups are done with very narrow "width". This can only happen in custom shaders.
  3. There is simply a very large amount of textures in the scene.
point cloud filtering
Counts the time spent filtering point clouds for point-based color bleeding.
brick map filtering
Counts the time spent filtering brick maps.
texture loading
Counts the time spent loading texture tiles. Since 3Delight has a caching system for texture loading this time should be marginal compared to the total render time. If not, this probably means that the texture cache is not large enough (read the Texture Cache section).
shadow map loading
Counts the time spent loading shadow map tiles.

Texture Cache

The texture cache plays an important part in the overall performance of 3Delight. The cache is needed since available physical memory is usually much less than the space taken by all the textures for a certain render. The role of this cache is to keep and manage a limited amount of texture data that is needed for rendering.

* Texture Cache :
    Cache size:                      0.005 G
    Overall cache pressure:          1.0
    Cache pressure for 2D textures:       1.0
    Cache pressure for misc textures:     0.0
    Footprint for 2d textures:            0.033 G
    Footprint for misc textures:          0.000 G

In these stats, there are three important concepts: size, footprint and efficiency. Both are explained below.

StatisticDescription
Cache size
Total cache size as specified by the user.
Footprint

The texture footprint is the total amount of data seen by the cache during a render. It's the size the cache should be made to hold everything needed in memory. This is a good metric of how much data a scene is using. Note that the cache does not have to be that large to be fully efficient in most cases.

Cache pressure

The cache pressure is the ratio between the footprint and the amount of data actually loaded into the cache, counting data which is loaded more than once because it was flushed. For example, at 2 each texture tile is loaded on average twice, which is actually not that bad. At 10, we're loading each tile 10 times, which is not that good anymore. A pressure of 1 indicates a fully efficient cache.

This number is directly proportional to the texture loading time described in the Profiling section above. If the pressure goes from 4 to 2 then loading time will be halved.

Point Based Occlusion

* Point Based Occlusion :
    Number of evaluations               : 0
    Considered elements per evaluation  : 0

These two statistic lines only concern point-based global illumination and are actually just used for debugging by the 3Delight team. The "Number of Evaluation" is simply the number of calls that were made to the point-based version of indirectdiffuse() and the "Considered elements" is related to the total number of octree nodes accessed for each evaluation, on average.

Map Manager

The map manager gives information about the files maps used during the render. For each map it shows additional information that might be helpful for TDs when debugging scene performance.

* Map Manager :
    Total number of maps used :            0
    Total number of texture maps :         0
    Total number of shadow maps :          0
    Total number of environment maps :     0
    Total number of deep shadow maps :     0
    Total number of 'invalid' maps :       0
    Total number of file open operations : 0
    Total number of map requests :         0
    Texture IDs
    Texture stats
    ID      Refs    Same    Search  Faults  Rate    Mipmap (min) Mipmap (max)

Scene Manager

* Scene Manager :
    Number of objects in the scene :            1
    Number of attributes in the scene :         2
    Number of transforms in the scene :         3
    Primvar compression ratio :                 1.8
    Saved memory due to compression : 5.0 Mb

This statistics block gives some basic information about the current scene.

StatisticsDescription
Number of objects in the scene

Counts the total number of objects in the scene.

Number of attributes in the scene
Counts the total number of RenderMan attributes in the scene.
Number of transforms in the scene
Counts the total number of transforms in the scene.
Primvar compression ratio
3Delight uses a compression algorithm to minimize the memory used by the geometry and its auxiliary data. This number gives an idea of the performance of that compression algorithm.
Saved memory due to compression
Gives the total number of megabytes saved thanks to compression.

Memory Profile

Memory profiling is an important tool when it comes to analyze 3Delight's memory usage. A rapid look at this stat can give a very good idea on where the memory is going.

 
* Memory Profiling :
    item                       current   peak   category peak
    unprocessed gprim            211 K   211 K   418 K
    gprim                          0       0       0
    gprim (polygons)               0       0       0
    gprim (subdiv)                 0       0       0
    gprim (curves)                 0       0       0
    gprim variables               26 K   617 K   617 K
    particles                      0       0    4536
    topology data                  0       0       0
    crack elimination geo          0       0       0
    grid                           0       0       0
    shaded grid                    0       0       0
    grid AOV                       0       0       0
    texture objects                0       0       0
    texture cache                  0       0       0
    hider and visible points       0       0      90 K
    image data                     0     251 K   313 K
    buffered display data          0      31 K    61 K
    shader code                 4033    4033    4033
    shader instance             2332    2332    2332
    shader variables               0     814 K   814 K
    attributes                   796     796     796
    transform                   1628    1628    1776
    subsurface                     0       0       0
    point based occlusion          0       0       0
    point cloud                    0       0       0
    photon map                     0       0       0
    inline archive                 0       0       0
    ray tracer                   289 K   289 K   289 K
    ray tracer cache               0       0       0
    space partition               90 K    90 K    90 K
    diffuse ray cache              0       0       0
    misc                        1756 K  1756 K  1756 K
    Total :                     2381 K  4068 K  4462 K
    Peak VM size     : 0 K
    Peak resident    : 35623 K
    Peak from malloc : 12899 K

 

Ray Tracer

    Total number of traced rays : 1.23778e+06
             Specular           : 0.00 % (0)
             Transmission       : 0.00 % (0)
             Diffuse            : 0.00 % (0)
             Light (photons)    : 0.00 % (0)
             Subsurface         : 0.00 % (0)
             Camera             : 100.00 % (1.23778e+06)
             Waste              : 0.00 % (0)
    
    Total number of shader calls : 711690
             Specular           : 0.00 % (0)
             Transmission       : 0.00 % (0)
             Diffuse            : 0.00 % (0)
             Light (photons)    : 0.00 % (0)
             Subsurface         : 0.00 % (0)
             Camera             : 100.00 % (711690)
    
    Total travelled distance    : 412215
    
    Avg. number of objects in ray's path    : 2.23804
    Avg. bbox intersections per ray (total) : 1.98034 (2.7702e+06)
    Number of ray/patch intersection tests  : 1.39885e+06
    Space partition efficiency              : 26.03 %
    Bounding volume efficiency              : 51.55 %
    
    Avg. active ray packet size : 65.4096
    
    Approximations      : 0.0 %
    Cache pressure      : 1.0
    
    
    Shading group size
    +-----+-----+-----+-----+-----+-----+-----+
    |<=  1|<=  2|<=  4|<=  8|<= 16|<= 32|> 32 |
    +-----+-----+-----+-----+-----+-----+-----+
    | 8.3%| 3.9%| 3.4%| 2.9%| 4.3%| 6.2%|  71%|
    +-----+-----+-----+-----+-----+-----+-----+
    
    Ray depth
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |<=  0|<=  1|<=  2|<=  3|<=  4|<=  5|<=  6|<=  7|<=  8|>  8 |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    | 100%|   0%|   0%|   0%|   0%|   0%|   0%|   0%|   0%|   0%|
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
StatisticsDescription
Total number of traced rays

This is the count of all the rays traced during a render. The following sub-categories simply specify the count per ray type. The special waste sub-category counts the rays that have been traced but could have been avoided - this is related to the internal workings of the render engine and is not user controllable.

Total number of shader callsTotal count of shader calls. Sub-categories show the shader calls per ray type.

JSON Keywords

' * ' = deprecated.

Renderer Options
KeywordTypeUnits 
    
    
time_to_first_pixelrealsecondsTime it take for the first pixel to appear.
Profiling
timingstabletimeTime taken to produce the image, for a wide range of timed categories.
memory_profiletableMbMemory used to produce the image, for a wide range of categories.
    
Netword Cache
cache_sizerealGBTotal cache size.
used_sizerealGBAmount of space already used.
number_of_copied_filesinteger Total number of files copied to that cache during this rendering session
number_of_failed_copiesinteger Copies that failed for system reasons (space, permissions, etc ...)
number_of_copies_avoidedinteger Copies avoided because files already in cache
number_of_rejected_filesinteger Files not copied because cache is full
*number_of_copies_avoided_kb,integerKbSame as number_of_copies_avoided but in Kb.
data_not_cachedintegerKbData not cached due to lack of space.
data_copiedintegerKbTotal amount of data that has been copied to the cache during the rendering sessions.
Maps
number_of_mapsinteger Total number of maps (textures, shadow maps, deep shadow maps, etc ...) managed.
number_of_texture_mapsinteger  
number_of_shadow_mapsinteger  
number_of_deep_shadow_mapsinteger  
number_of_invalid_mapsinteger  
number_of_file_open_operationsinteger Total number of file open operations performed during a rendering session. Should be relatively low thanks to caching. Could be high on systems configured with not enough file descriptors.
*number_of_map_requestsinteger Total number of maps requested
texture_access_statisticstable  
    
Scene
number_of_objectsinteger Total number of high level objects passed to renderer.
number_of_attributesinteger Number of RenderMan attributes needed to describe the scene.
number_of_transformsinteger Number of transforms in the scene.
primitive_compression_ratioreal While rendering, 3Delight uses a compression algorithm for geometric primitives residing in memory. This statistic indicates the compression ratio.
Reyes
number_of_mpsinteger Total number of micro polygons generated to produce the image.
average_mps_per_gridinteger Average number of micro polygons per grid.
grids_projectedinteger  
grids_shadedinteger  
grids_displacedinteger  
number_of_primitivesinteger Total number of low-level primitives.
number_of_rejected_primitives  Total number of low-level primitives that have been efficiently rejected because they were are not seen in the image.
number_of_non_empty_bucketsinteger  
average_items_per_bucketinteger Average number of items (primitive, grid, particle, etc ...) in a bucket.
maximum_items_per_bucketinteger Maximum items found in a single bucket.
distribution_of_micropolygon_areahistogram An histogram representing the distribution of the area of micro-polygons. Distributions skewed towards lower values mean slower renders.
distribution_of_fragment_listshistogram Depth complexity.
    
    
    
    
    
*curves_grouping_efficiencyreal  
Ray Tracer
distribution_of_ray_depthhistogram  
distribution_of_shading_groupshistogram Represents the distribution of shading group sizes. Histograms skewed to lower values represent less efficient shading.
distribution_of_ray_typestable A table describing how many rays were traced, per type (specular, diffuse, transmission, ...). Note that this is a table, not an histogram.
distribution_of_shader_callstable 

Describes how many shader calls were performed, per ray type.

Point Based Subsurface Scattering
distribution_of_lookup_depthhistogram An histogram representing the lookup depth in the hierarchical structure used to store the point-based scene representation. Histograms skewed to lower values mean faster renders. A technical statistic that is not really telling for an artist.
    
Space Partitioner
number_of_nodesinteger Total number of nodes (internal and leafs) in the space partitioner.
motion_densityreal  
motion_segmentsinteger  
maximum_node_depthinteger Maximum leaf node depth in the space partitioner.
number_of_raysinteger Total number of rays that went through the space partitioner.
average_leafs_per_rayreal Average number of leaves a ray encounters during tress traversal.
average_internal_nodes_per_rayreal Average number internal nodes a ray encounters during tree traversal.
*average_depth_per_leafreal  
average_objects_per_leafreal  
    
Photon Maps
number_of_photonsinteger Total number of traced photons.
number_of_interactionsinteger Total number of photon/surface interactions.
number_of_global_photonsinteger Number of photons stored in global photon maps.
number_of_caustic_photonsinteger Numbe of photons stored in caustic photon maps.
average_bouncesreal Average number of bounces a photon does before terminating or exiting scene.
average_diffuse_depthreal Average depth of photons stored in the global photon map.
average_caustics_depthreal Average depth if photons stored in the specular photon map.

 

 

  • No labels