Question regarding the render impact of a single mesh vs several

Hey all,
Bit of a beginner question here. What is the overall impact, from a speed /rendering perspective, of multiple meshes (say 100 totaling 2000 verts) that all share the same single material, verses a single mesh of the same density (2000 verts) with the same single material as above. Also to add to this, the material I am using actually is a node shader with about 20 inputs.

The reason I am asking is to understand if there is any net gain of merging the 100 meshes into a single mesh or not?

the single mesh is better , this is based on how computer hardware works , not specific to babylon.

That said , I dont know if babylon does static or dynamic batching. Which are solutions in other realtime engines ( like Unity ) where it will try optimize rendering internally by “batching” objects that share same materials, to treat them as one mesh … even though they are separate in your scene. ( there are other certain conditions required for it to be able to do this beyond just sharing a material or materials. )

anyway lets hear from some babylon devs if the engine has such features? otherwise you should consider batching manually where applicable or feasible.

1 Like

Thanks @shaderbytes. Very interesting. In my case, all of the objects are actually identical in every way except their uvs and transform so there is actually quite a bit of commonality.

You can use Instances Instances | Babylon.js Documentation (babylonjs.com) or Thin Instances Thin Instances | Babylon.js Documentation (babylonjs.com) to do batching :smiley:

1 Like