Community
Arnold for Cinema 4D Forum
Rendering with Arnold in CINEMA 4D using the C4DtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GPU - IPR vs Picture Viewer render time

13 REPLIES 13
SOLVED
Reply
Message 1 of 14
peterDTE7K
428 Views, 13 Replies

GPU - IPR vs Picture Viewer render time

Hi, the GPU works great in IPR, it's a significant improvement of render speed vs the CPU. However when I render into Picture Viewer the render time often increases over 15x in comparison with IPR when using GPU and the same sample settings. Do you know what might cause this difference? When using CPU the render times in both IPR and Picture Viewer seem to be very consistent. Thanks!

13 REPLIES 13
Message 2 of 14
Stephen.Blair
in reply to: peterDTE7K

Did you have Arnold logs for the different renders?



// Stephen Blair
// Arnold Renderer Support
Message 3 of 14
peterDTE7K
in reply to: Stephen.Blair

Here are the logs. IPR took 32 seconds and Picture Viewer 4:26 with same settings.

Message 4 of 14
thiago.ize
in reply to: peterDTE7K

Slow render had all these AOVs which fast render did not have:

 

00:00:04 7307MB | [aov] registered driver: "/Drivers/_display_driver_" (driver_c4d_display)
00:00:04 7307MB | [aov] * "RGBA" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "diffuse_direct" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "diffuse_indirect" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "specular_direct" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "specular_indirect" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "transmission" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "sss" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] registered driver: "/Drivers/Arnold_Driver" (driver_exr)
00:00:04 7307MB | [aov] * "RGBA_teal" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_red" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_purple" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_dome" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_orange" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_green" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_distant" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_blue" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "RGBA_default" of type RGBA filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "denoise_albedo" of type RGB filtered by "default_filter" (blackman_harris_filter)
00:00:04 7307MB | [aov] * "N" of type VECTOR filtered by "default_filter" (blackman_harris_filter)

 

And the log says the majority of the time was spent writing out the data (output driver):

00:04:23 10911MB | rendering 4:18.48
00:04:23 10911MB | output driver 3:56.66
00:04:23 10911MB | pixel rendering 0:21.82 (130 sample iterations @ min: 0:00.317, avg: 0:01.955, max: 0:03.757)

 

So you'll want to take a look at your AOVs and how you're writing them out.

Message 5 of 14
peterDTE7K
in reply to: thiago.ize

Cool, many thanks. Indeed removing the AOVs, especially those from driver_c4d_display makes a huge difference.

 

Question - why does Arnold need to render all driver_c4d_display AOVs when rendering to Picture Viewer? It doesn't make much sense, I thought these AOVs are only used for preview in IPR. Also the driver_c4d_display AOVs seem to significantly impact Picture Viewer rendering but only when using GPU. CPU rendering is mostly unaffected. If I knew this before I could have saved weeks of rendering time.

Message 6 of 14
peter_horvath
in reply to: peterDTE7K

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
Message 7 of 14
peterDTE7K
in reply to: peter_horvath

This is great info Peter, many thanks. Now I can finally fully switch to using just GPU.

Message 8 of 14
peter_horvath
in reply to: peterDTE7K

The slow down should be fixed in C4DtoA 4.6.5. If you still have problems in this version, please let me know.


// Peter Horvath
// C4DtoA developer
Message 9 of 14
peterDTE7K
in reply to: peter_horvath

Back to full speed, also IPR seems to start faster. Free panning IPR, spacebar on/off, composition overlays....this update is golden!

Message 10 of 14
no188328
in reply to: peterDTE7K

Can you share your GPU sampling setup with us please to get a clean render? No matter what I do the GPU renders looks very noisy compared to CPU, even tho with my adaptive threshold is set to 0.001 and the AA smaple Max is 100 with camera AA set to 6 or 7. I still get a noisy results with simple scenes.

Message 11 of 14
peterDTE7K
in reply to: no188328

For production renders I use CPU. GPU is still often unreliable with some weird artifacts however it is much faster so I use it for previews, tweaking scene and materials. I rarely go above 30 MAX AA with default threshold. 100 MAX AA is huge. Are you using some heavy DOF or motion blur? CPU is often having less problems with those.

 

If you want you can send me direct message with some scene and I will check it.

Message 12 of 14
no188328
in reply to: peterDTE7K

I use it for previews as well but I thought you figured out a way to use it for production renders when you said "Now I can finally fully switch to using just GPU" that's why I was curious. My GPU is stronger than CPU that's why I was searching for a way to relay on it more but I think I'll have to stick with the CPU for final renders for now. Thanks a lot for your notes and proposition I'll definitely take it into consideration, really appreciated. Have a great day.
Message 13 of 14
peterDTE7K
in reply to: no188328

If I see no problematic difference between CPU and GPU I will use GPU for production especially for animations since it is multiple times faster. If you have hair you need to increase specular ray depth and if you have transmissive objects like glass you need to increase both specular and transmission rays to get same results as on CPU. Also light samples matter. 

Message 14 of 14
peter_horvath
in reply to: peterDTE7K

Can you tell us what parts of your scene are not cleaned up properly on the GPU? It would help us focusing on those areas. Would denoising help?


// Peter Horvath
// C4DtoA developer

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums