Optimizing Arnold render times - subdivisions


#1

Hi, I’m working on a scene with lots of high poly objects. So far my approach was just to keep everything in the smooth mesh preview (catmull- clark) and let Arnold take care of subdividing it at render time. Another approach is to set the smooth mesh settings in the Arnold tab - subdivision level in the Maya attribute editor.

I was wondering if my RAM performance and overall render times would improve (even slightly) if I subdivided everything manually in the final scene before rendering? Would the gains be negligible?

Somewhat related question - how do stand ins affect the render times in large scenes?

Thanks
Arnav


#2

You don’t want to render with smooth mesh preview enabled. That’ll cause Arnold to be given smoothed data, which is much less efficient than letting Arnold do the subdivision itself.

For smoothed meshes, I always uncheck “Use Preview Level For Rendering”, set the render subdivision level to 0, and then turn on Arnold smoothing. That way, I can turn on smooth mesh preview for the viewport when I want it, but it won’t affect the render and the render will always use Arnold smoothing (even if I don’t turn off viewport smoothing first).

Note that there are some subtle bugs with this (for example, edge creases will be lost if smooth mesh preview is turned on), and if you run into those you’ll need to make sure smoothing is actually turned off, but it works in most cases.

Pre-subdividing would be much worse. Half of the benefit of mesh smoothing is that you only have to load and pass around the unsmoothed data, and that the renderer can do less subdivision for far-off objects (if you turn on adaptive smoothing).


#3

Got it, thanks a lot! :slight_smile:


#4

Incidentally, is there a way to set the Arnold smoothing for multiple objects? Or do you have to click on each object, go to the Attribute editor and manually set it for all objects in the scene?


#5

Besides using a simple For loop script you can organize objects into an Arnold Override Set.


#6

The easiest UI way is to use the attribute spreadsheet (search for “Subdiv”).


#7

Thanks gfx and Cavedog. I’ll try both approaches!


#8

I should have mentioned. You manage sets in the Relationships Editor. Windows > Relationship Editors > Sets. There you can add and remove objects from your sets.


#9

great, thanks for the info :slight_smile: