Well guys, I knew already the “same material” batching concept, but I was wondering if it’s supposed to render that many objects. I’ll give you an example. I isolated an instance of an object that repeats a lot in my project and I rendered the exact same camera location/rotation on all the out-of-the-box ways I could think of to batch them and compare the amount of objects and fps. I must say there is no physics or rigid bodies at all on these… just a quad geometry, so… not a very complex shape! Here are the results:
I created a node and give it a name, created a quad, created a geo from the quad, set a material on the geo and then attach the geo to the node and batched all the nodes together or if you prefer… this function repeated like 1000 times:
[java]
Float s = 0.8f; // Size
Node tree = new Node(“Tree”);
Quad faceShape = new Quad(s, s);
Geometry face = new Geometry(“Tree face”, faceShape);
face.move(-s/2, 0, 0);
tree.attachChild(face);
face.setMaterial(treeMaterial);
tree.setLocalTranslation(new Vector3f(x,y,z);
return tree;
[/java]
Unoptimized fed with node > geo: 15761 / 11fps
GeometryBatched fed with node > geo: 1454 / 57fps
SimpleBatchNode fed directly with geo: 4325 / 30fps
BatchNode fed directly with geo: 4325 / 30fps
BatchNode fed with node > geo: 5278 / 25fps // <-------- You can clearly see here that the node encapsulation raises the number of objects… but why?
It’s not like the encapsulation node had anything to do with the rendered geometry… I mean it’s just a node with a name. Is it because the face geometry is displaced before being attached to the node? Well, I tried commenting that line and guess what… 5296 objects (18 more objects!!!) lol like what the F…?
As you can see, I’m thinking it might be worth it to simply GeometryBatch every now and then and run at 57 fps, unless somebody can help me figure out what’s wrong with my BatchNode implementation! I want to highlight again the fact that I’m not going to update them every frame, just once every now and then like every 5 seconds or something.
Your support/help/ideas are greatly appreciated guys. Thank you so much for taking this time with me 
EDIT: GeometryBatched fed directly with geo: 1464 / 63fps (+10 objects… +6fps… just by removing the node encapsulation. That’s… not what I would have expected, really. I ran the test 3 times just to be sure 
EDIT 2:
GeometryBatch with grassBase.j3md shader fed with node > geo: 1390 / 61fps // Drawback: no shadows
GeometryBatch with grassBase.j3md shader fed directly with geo: 1390 / 68fps // Drawback: no shadows