To have many small meshes is bad. If they’re using different material parameters on them, it gets even worse.
- When possible, combine the nearby objects into a single object that has a single material. For example, if your level contains a table with dozens of objects on it, it makes sense to combine it in your 3D application (this might require combining textures into one big texture atlas as well). Reducing the number of objects that Unity needs to render can boost the performance dramatically.
- Do not have needless meshes. If you have a character in your game, it should probably be only 1 mesh. If you have a ship, it should probably only be one mesh. There is a significant overhead for each mesh Unity renders due to realities of hardware and drivers.
- One material per mesh. Each material that is rendered is treated like a separate mesh getting rendered.
The render thread needs to process each object (culling, material setup, lighting setup, collision, update cost, etc.). More complex materials result in a higher setup cost.
Mesh Draw Calls are displayed when using the stats commands show the draw calls caused by 3D meshes - this is the number artists can reduce by:
Reducing object count (static/dynamic meshes, mesh particles)
Reducing view distance (e.g. on the Scene Capture Actor or per object)
Reducing Elements per draw calls (combine materials accepting more complex pixel shaders or simply have less materials, combine textures to fewer larger textures - only if that reduces material count, use LOD models with fewer elements)
Using multiple materials per mesh is used often in offline rendering (archviz), because they need static images, and have tons of RAM, renderfarms etc., so they can afford that rendering cost. In games and realtime this is always carefully avoided, as much as possible.
And I can see the result of that in my work; that was the reason why I decided to make all models, textures, and materials myself. I can have much better graphic fidelity with unwrapped models using 1 material per mesh, than with stock TDM models. My scenes have several hundred drawcalls, while with stock assets they had several thousand.
Edited by Judith, 11 May 2018 - 01:37 AM.