I’ve seen countless projects that were poorly optimized for rendering and resulted in long render times, high RAM usage and unnecessary size on hard drive. My experience with working on personal projects and on hundreds of projects rendered on a render farm helped me identify certain themes and threads common to rendering. I decided to use my knowledge to create a series of tutorials on optimizing scenes in 3ds Max that will address those commonalities and will present you with techniques that aim to achieve faster and more stable rendering. GarageFarm.NET’s render wranglers and other team members will play an important role in making this initiative happen.
That being said, let’s start off with our series on 3ds Max rendering.
This guide is for every 3D artist who want to render 3ds max and had an unpleasant experience with too high resource usage when rendering a project locally or on a network.
You will find useful optimization techniques for beginner and intermediate 3ds Max users. If you are an advanced user, you probably already know most of them, but still you might find some new information here. There is a saying, you don’t know what you don’t know.
The optimization methods listed below will be especially useful to animators as even a slight increase in render time is multiplied by the number of frames in your animation.
The aim of this guide is simple – reduce the render time and RAM usage – and gain more time for the creative side of the project, save time and money and have more satisfied clients. You can also read one of our success stories on how GarageFarm improved rendering times on Vray for 3ds Max
The more geometry (polycount) in your scene, the bigger the scene file, the more RAM it needs in order to be rendered, and the longer the rendering takes.
You can turn more statistics options on and off by clicking on the upper-left corner in Viewport (“+”) → clicking “Configure Viewports” → “Statistics” panel.
If you want to learn more about 3ds Max statistics and what they mean, check out Autodesk Help.
Open the window “Select by name” (press “h”) and add the “Faces” column to the menu.
You can do that by right clicking the “Name” bar and choosing the “Configure Columns” option. You’ll see a list of additional columns, one of them being “Faces”.
This column will sort all objects in the scene by number of polygons.
Where to look:
How to find hidden objects?
To find the models lost outside of your scene during importing or working on the project, you can right-click on any Viewport and choose the “unhide all” option, with the “Unhide objects on hidden layers” option selected. Then choose the “zoom extents” option in the bottom right corner of the max interface and press “ctrl + a” to select all the models in the scene. Lost models will become visible in the scene.
In 3ds Max you can copy an object either as a copy or an instance (or reference which is a sort of an instance).
When you copy a mesh as a “copy”, 3ds Max creates another mesh that will be stored in your scene both on hard drive and RAM, which makes the polycount higher.
However, if you create an “instance”, 3ds Max will just store the information that a copy of a mesh is present in another place in the scene but keeping only the data of a single mesh in memory and in the scene file.
Thanks to using “instances” you can put a huge number of copied objects into the scene but they will use practically the same amount of RAM and have a similar filesize as a single object.
The only disadvantage of that method is that those meshes must be kept identical to the initial object.
Example
Try to optimize models based on their distance to the camera or level of detail needed.
Adjust the level of detail of models to their visibility in the final render. For example, if you need cars in your visualisation but they are going to be far away, use simpler models or optimize them. A curb on a street can be beveled when it’s close to the camera, but those that are farther away can have sharp edges.
TIP: Don’t add Turbosmooth or Meshsmooth modifiers if it is not necessary, and keep the “Iterations” value as low as possible.
They can quickly reduce the number of polys in your model, but they might deform its shape.
It’s best to use them when the object is far away from the camera, or when it is a high poly object (like a model of a car collapsed after using Turbosmooth modifier).
Play around with the settings of modifiers to keep desired detail level, but reduce the number of polygons.
In order to reduce the scenes size and its resource usage, you will need to collapse the model with the optimizing modifier applied before the rendering, especially when you are going to render it via a network.
TIP: Always remember to save a copy of the scene before making changes to be able to revert to older settings in case something goes wrong.
The Optimize Modifier lets you reduce the number of faces and vertices in an object. This simplifies the geometry and speeds up rendering while maintaining an acceptable quality of the image. A Before/After readout gives you the exact feedback on the reduction as you make each change.
More information about Optimize Modifier here
The MultiRes Modifier reduces the memory overhead needed to render models by decreasing the number of vertices and polygons. MultiRes offers several advantages over the Optimize modifier including faster operation and the ability to specify the level of reduction as an exact percentage or vertex count.
More information about MultiRes Modifier here
The ProOptimizer Modifier lets you select objects and interactively optimize them.
More information about ProOptimizer Modifier here
The ProOptimizer feature is an optimization tool that helps you reduce the number of vertices (and also the number of faces) in an object while preserving the object’s appearance. Its options let you maintain material, mapping, and vertex color information in the optimized model.
More information about Batch ProOptimizer Utility here
Sometimes you need to create an environment for your scene outside of your camera view but affecting your scene by appearing in reflections, casting shadows or illuminating it with indirect lighting (GI).
In that case, keep the models which create such environment simple or replace them with planes with pre-rendered textures added, and cut them out with opacity map if this is necessary.
You can also use that method for objects which are more distant from the camera but render too long, or are visible through materials like glass (for example several rows of glossy bottles on a shop shelf)
That method is especially efficient if you want to create a large amount of foliage visible in reflections or casting shadows on the scene.
If the opacity maps render too long, please check out the Textures guide (PART 2) to know how to set them up to render faster.
EXAMPLE 1
A comparison of rendering a model with a reflection of the environment created with instanced models vs pre-rendered planes with opacity map.
EXAMPLE 2
A comparison of rendering far away objects as models vs pre-rendered planes with opacity map.
EXAMPLE 3
A comparison of rendering of multiple objects with refraction and blurry reflections rendered as models vs pre-rendered planes with opacity map.
The methods listed below can reduce your scene size on hard drive, so that your project will upload and open in 3ds Max faster, which is important in the case of rendering via a network or a render farm.
EXAMPLE 1
A comparison of resource usage when rendering models with Meshsmooth modifier applied on them vs model after collapsing the stack to an Editable Poly. The models are copied as instances.
Editable splines: You can create dense 3d models using modifiers like Lathe, Sweep or the “rendering” option in the editable spline options. They will be saved in your project as smaller data in comparison to models collapsed to editable poly.
EXAMPLE 2
A comparison of resource utilization for editable spline with 3d options/modifiers applied (Lathe and Sweep) and after converting them to editable poly.
When it comes to geometry optimization, the rule is simple – the less, the better.
I would strongly suggest to test all of the above techniques first to see how it affects your renders and to get a better hang of it. Then try to integrate them into your regular workflow. Applying these steps will save you a lot of time, hassle, and likely money in the long run.
This concludes the first part about geometry. Next part covers optimizing 3Ds Max textures, so make sure you check it out!
This guide has been created by Michał Moś and edited with the help of the team at GarageFarm.NET. We derived most of the knowledge used in this guide from an extensive experience running a render farm for almost a decade.
Michał Moś ( aka ‘Andrew’ ) is part of GarageFarm.NET team specializing in 3d rendering topics from animation and troubleshooting to technical writing. He has worked for numerous design and architectural companies as a CG artist, designer, and instructor. Weapon of choice – 3ds Max, C4D, V-Ray and Octane. He loves drawing, creative writing, and tabletop RPGs.
https://michalmos.carbonmade.com
https://garagefarm.net/
Models used in the tests are from Marek Rybacki and Evermotion.
Links to Autodesk Knowledge Network used in the tutorial: