Open tomc-cinesite opened 2 months ago
There are two phases to Arnold initialisation for a render :
AiBegin()
to initialise the Arnold API. This is what would print out the Arnold version and a bunch of other stuff.AiUniverse()
to create a universe that will be used for the render. This prints out the stuff you currently see in a batch render.We deliberately suppress messages from phase 1, because for the Gaffer GUI that happens early in start up so we can query shaders and put them in menus etc. At that point we don't know that the user cares one bit about Arnold in that session, and we follow the "silence is golden" rule. Personally I'd like to stick with that rule, unless anyone wants to make the case for constant verbosity?
There's obviously more value in having the additional logging for an Arnold batch render task though, so I'm wondering if we should remove the suppression when we know we're calling AiBegin()
from a render task? Would that be acceptable?
There's obviously more value in having the additional logging for an Arnold batch render task though, so I'm wondering if we should remove the suppression when we know we're calling
AiBegin()
from a render task? Would that be acceptable?
I agree with your thoughts John - yeah that would be ideal. In an interactive session we know what the Arnold version is, but looking at farm logs from a week ago is where that info would be most valuable. 🙏
Description
When batch rendering with Arnold, the version information log message is swallowed by Gaffer. This makes debugging render issues harder as there is no way to know the precise Arnold version that was used.
Steps to reproduce
Ideally, wed see the arnold version information messages at the head of the log: