Merging Meshes with Identical Material
When a model contains multiple mesh components that are using identical materials, then system resources will be consumed by the number of Draw Calls. By merging these components together, the draw calls can be reduced, which alleviates system load and improves performance for creating an animation in iClone.
Optimizing Mesh Nodes
-
Load a model composed of multiple component meshes (the structure can be created by Attaching).
In this case, there are various tile entities with three different materials applied. -
In the scene tree, the amount of component mesh nodes can
increase draw calls.
- Select the root node of the model.
-
In the Material Section of the Modify panel, click on the Merge Identical button.
- Merge Identical Selected: Merge selected meshes that have same material names.
- Merge Identical All: Merge all meshes that have same material names.
-
As you can see, the component meshes that are applied with identical materials are merged into
one single component mesh, which decreases the number of draw calls in order to save the process times
of the CPU.Note
When exporting the model to iClone, you can compare the FPS value, before and after the optimization. Especially when the object is duplicated to create numerous copies.
Draw Call
The draw call involves the CPU retrieving the material data of a 3D entity and subsequently transmitting both the entity and its associated material data to the GPU for rendering within the viewport. Hence, the greater the number of entities, regardless of whether they share identical materials or not, the higher the number of draw calls required. This increase in draw call places additional strain on the CPU, leading to performance degradation.
This concept is shown in the illustration below (the number of draw
calls are highlighted in red):
However, by merging the entities that use identical materials, into one, the CPU only needs one draw call to render the merged object, which tremendously decreases the loading of the CPU and increases the render performance.
This concept is shown in the illustration below (the number of draw
calls are highlighted in red):