When rendering with an interactive session, arnold GPU compiles all the shaders for every IPR update. Is there a way to prevent this from happening? Tend's to create a delay between parameter updates and getting pixels to the screen.
I assume you have done the pre-populate?
https://docs.arnoldrenderer.com/display/A5AFMUG/Pre-populate+GPU+Cache
Also to be clear, this is with the integration I have with Blender. It doesn't appear Maya or Houdini have this issue, so must be something done on my end that is not handling persistant shader pointers or something between interactive render updates.
The compiled shaders are stored in the GPU cache. Changing a parameter shouldn't force a re-compile.
Does the cache exist and is it being updated?
On Linux, the cache will be in a folder like
/var/tmp/OptixCache/tyler/arnold-5.3.1.0_driver-418.56
Here's the debug:
[gpu] setting OptiX disk cache location to: C:\Users\tyler\AppData\Local/NVIDIA/OptixCache/arnold-5.3.0.2_driver-419.67_devices-15891811226220818506
...
[gpu] building scene and compiling shaders ...
[gpu] building scene and compiling shaders done in 0:00.001
That cache was created on 4/27/2019 - and I just tested this now, so it doesn't appear to be creating a new optix cache, however it's still trying to compile shaders for some weird reason.
It did however create this file in that directory `cache.db-shm`
Hi Tyler,
According to your log the 'compiling shader' took less than a second ? This would mean that the actual compilation did not happen and that shaders were pulled from the cache. The rest of the time is spent in building the GPU scene, i,e acceleration structures.
Ah, I see. It just seems like no pixels are updated when moving around this viewport during this call. There's a delay until I actually stop panning, before it updates. Is this normal behavior?