why does Arnold need to render all driver_c4d_display AOVs when rendering to Picture Viewer? I thought these AOVs are only used for preview in IPR
The display driver is a bridge between the Arnold render output and the Cinema 4D frame buffer, it basically manages all render processes, such as Picture Viewer, IPR, Team Render, Command line render. AOVs assigned to the display driver are active AOVs in the above render processes, thus they are written out to PV, Team Render, etc.
The IPR window has an option to render all active AOVs or only the currently selected AOV (Render menu > Render all AOVs). If you don't want an AOV to render out, but only look at it in the IPR window, don't assign it to the display driver, and select it from the Inactive group of the AOV combo box.
Also the driver_c4d_display AOVs seem to significantly impact Picture Viewer rendering but only when using GPU.
There are way more data update calls during a GPU render compared to CPU, and probably that's where the performance suffers. Hopefully this is something we can fix in an upcoming release. Thank you for reporting the issue.
// Peter Horvath
// C4DtoA developer