Ok, before you say, “well it combines your draw calls, duh!”, (lol), let me get into more detail.
This would vary depending on the type of game, surely, but lets say a first person game. If I’m working with LOD, Occlusion Culling, and Frustrum Culling already, then most of the GameObjects that would have been batched, are simply culled out because of the LOD levels. So really, you would only be batching stuff that is fairly close, in which case, I would think even having a batch system just for that would be unwise. Unless there is always a lot of GameObjects around you that needs to be batched. But that assumes that you’ve properly combined what you should in the modeling software, and just have a LOT of content that for some reason, your not combining into reasonable chunks.
I’m just not really seeing the point. But I’d like to know if you guys/gals see reason. I’m not against batching, just want it to do more good than bad.
Well sure, in that specific example it probably wouldn’t be too helpful. In other scenarios it’s really helpful, for instance something like Skyrim or GTA.
Also, just because things are different doesn’t mean they can’t be batched. If they use the same material and you’ve atlassed their textures you can batch a whole bunch of different things together.
That’s what I mean though, I don’t see why you wouldn’t just combine most the mesh around you in modeling software or script, because it’s going to get LOD’d out anyway. Texture atlas could be used with batching and just plain old combine mesh scripting, or modeling software combine.
I’m glad you can see where I’m coming from though, didn’t know if I was just alone in the dark on this thought.
Take a look at an outdoor screenshot of something like Skyrim and consider how much of it can potentially be batched.
And as Eric says, a lot of the stuff you’re talking about combining (which is a form of manual batching) either drastically increases the workload or stops other things from working, not to mention that you can’t animate or move parts of something that you’ve combined.
Wouldn’t batching hurt the RAM/GPU, because it’s keeping all the crap you’re batching into a giant mesh, but with LOD, you only need a tiny bit of that mesh a a time? I guess you could update that imaginary mesh though. Hmmmm… Well, I’ll try it. Kinda sucks to have to weave it into the system though.
You seem to be actively looking for reasons not to use it.
If your game runs well enough on your target platform and does everything it needs to then there’s no need to put extra effort into optimisation of any kind. If you do need to optimise then batching is one potential tool at your disposal. But as long as your art is set up appropriately it should more or less happen transparently, and (I expect) the engine will only batch where there’s a net gain.