# One draw call with one big mesh VS many draw calls with many little meshes

I have read that in order to optimize WebGL application, one should reduce an amount of draw calls. But does it mean that computing a one big mesh from all single meshes on CPU by modifying vertices position (which I heard is much slower than GPU while talking about matrix multiplications) and calling the draw call once would be faster than drawing every single mesh using model matrix inside GPU, calling the draw call for each one of them?

• Hmmm, if GPU is really so OP, I just came up with an idea: -#- group as many separate meshes into a one big mesh (the amount depends on how many Vertex Uniform Vectors does a browser support) -#- send an array of Model Matrices along with current's mesh ID attribute for each of grouped object for object dereferencing -#- calculate a vertex position like this: gl_Position = projMatrix * viewMatrix * modelMatrix[currentObjID] * vec4(vertexPosition, 1.0); In my head it sounds clever, but is it even possible to send an array of matrices to the shader? – Winged Jun 19 '14 at 17:00