Suppressing / Truncating Logging of (Instanced) Lights

Matthew_Hicks

Suppressing / Truncating Logging of (Instanced) Lights

Matthew_Hicks
Not applicable

Hi,

Is there a way to adjust the logging level or otherwise suppress or truncate the individual logging of (instanced) lights?

I have an environment I'm trying to render with what I'll describe as having a "significant number" of instanced lights, and am finding that OpenImageIO/imageinput.cpp will barf occasionally:

failed assertion ... "Accumulated error messages > 16MB. Try checking the return codes!".

I'm assuming the 'accumulated error messages' are a reference to the log size, and the thousands on thousands of instanced lights reporting their status is the issue - certainly, they seem to be 95% of the log's contents.

My options to reduce the instance count are limited, but even if I'm looking at the wrong thing being able to truncate their repeated entry would make reading the log easier short of feeding it through grep -v.

Cheers,

Matt

0 Likes
Reply
713 Views
6 Replies
Replies (6)

Stephen.Blair
Community Manager
Community Manager

What's being logged for the lights? Just that failed assertion?



// Stephen Blair
// Arnold Renderer Support
0 Likes

Matthew_Hicks
Not applicable

Hi Stephen,

I think it's the arnoldLightShader announcing the pointcloud point it's being instanced on, the scene graph location of the instanced source geo the arnoldLightShader is on, and it's sample settings.

The format looks like

<timestamp> [INFO python.RenderLog] <Render time> <memory> <pointcloud:pointnum>:<scenegraph_location>:arnoldLightShader: spot_light using 1 sample, 2 volume samples

Individually it's definitely useful as a sanity check, but en masse the utility of the information being imparted diminishes rapidly, particularly if they're from the same instance source. Being able to set a truncate level of say, the first or last 5 or so would make it a lot more manageable.


0 Likes

Stephen.Blair
Community Manager
Community Manager

Hi @

Ok, I get it. It's these messages:

00:00:00   566MB         | updating 25 nodes ... 
00:00:00   567MB         |  /pointLight10/pointLightShape10: point_light using 1 sample, 2 volume samples 
00:00:00   567MB         |  /pointLight8/pointLightShape8: point_light using 1 sample, 2 volume samples 
... 
00:00:00   567MB         |  /pointLight2/pointLightShape2: point_light using 1 sample, 2 volume samples

Arnold doesn't support light instancing, so they are all actual lights.

But like with Warnings, there could be something like Max Node Update Messages. I'll open an enhancement request.

Just curious, how many nodes are there?



// Stephen Blair
// Arnold Renderer Support
0 Likes

Stephen.Blair
Community Manager
Community Manager

The "Accumulated error messages > 16MB. Try checking the return codes!" would be something else. Are these textured lights?



// Stephen Blair
// Arnold Renderer Support
0 Likes

Matthew_Hicks
Not applicable

I don't seem to have lines telling me how many nodes are being updated. Maybe that's a local config thing. Either way, I'm on katana 3.2.3, ktoa 2.4.0.5, arnold 5.4.0.2.

In the log of a successful render, there are:

45894 lines total

45261 lines of arnoldLightShader details, of which
44773 lines are associated with an 'instancer' element, where
23011 lines are spot_lights, and
21762 lines are point_lights

There seems to be at least 21 kinds of 'light' asset in the element, with at least one creating ~4000 copies.

Thanks for the tips on the textures and info on Arnold light 'instancing'. I'll have to look into that to see if any are being applied in the instancer, but there will almost certainly be textures applied on many of the 'non-instancer' lights.

Is there anything related to the textures I should be looking for?

0 Likes

thiago.ize
Autodesk
Autodesk

The just released Arnold 6.2.0.0 has the following fix which might interest you:

Limit number of per-light log messages: If there are more than 100 lights, we stop outputting per-light sampling log messages at the regular log verbosity and instead only output these at debug level verbosity. This should help avoid "spamming" the logs when there are many lights in a scene (core#10098).

More details on that release are availableat https://docs.arnoldrenderer.com/display/A5ARP/6.2.0.0. You can download it from https://www.arnoldrenderer.com/arnold/download/


However, the "OpenImageIO/imageinput.cpp" error message has to do with texturing and is not related to these light messages. If this error message goes away after reducing the number of lights, then perhaps it's because these are textured lights? Otherwise it's something else texture related in your scene. Either way, can you provide us with a scene (as simplified as possible) that reproduces this so that we can then try and fix it?

0 Likes