is there a performance difference between 4 draw calls of 128x128 textures and 1 draw call of a 256x256 texture?
Yes, having 4 draw calls is 4 times slower than having 1. There’s probably no measurable performance difference between those texture sizes.
–Eric
Draw calls is everything so you are better off with the larger texture and lower number of draw calls. I routinely use a single 2048x2048 texture to accomodate multiple ‘features’; put all imagery for a large scene into a single texture and use ‘combineChildren’ to get just a few draw calls; it is amazing the number of triangles you can push through a modern graphics card as long as you keep texture/material changes to a minimum.
I was just wondering if theres a way to batch animated meshes with a combiner. The combine children script only handles static meshes. If you had a whole bunch of static roller meshes with a simple rotation script the meshes no longer animate when added to the combiner. Though the node/pivots do.
It seems to me that it shoudl be possible to combine these simply animated meshes too.
I’ve spent a lot of time trying to think of a way to address this problem. I have an application that involves having hundreds or thousands of objects laying around, any one of them able to be picked up and moved around. As independent transforms they each take a couple of draw calls and as you indicate, they cannot be combined so frame rate suffers.
One approach I am trying to test is to create a single mesh that contains all 2000 objects and use Graphics.DrawMesh to draw it. When an object is picked up, I will create an independent GO, modify the mesh to exclude that object; once the object is dropped again, do the reverse, i.e., delete the GO and update the mesh to include it. Haven’t worked out the details yet but I think it can work; you may want to try out something similar.