I’m working on a rather large terrain (4000x4000), and it was pointed out to me that Static and Dynamic Batching should be turned off to increase performance. This proved to be true - I have about 1.3 million triangles visible without occlusion culling, and turning off batching effectively doubles performance.
Is there any information available about the factors involved here? The overhead of computing batches obviously outweighs the rendering speed increase at some point, but are there any best practices documented anywhere?
Also things like default occlusion culling cell size in Umbra - what’s generally considered the best approach for large terrains? One occlusion map or several overlapping? What’s a typical cell size for terrain visavi that of a typical building?
There is neither static nor dynamic batching on the terrain.
The terrain is no traditional mesh, it has a whole manager behind the scenes which handles the stuff, and it will batch only for whole chunks, which are with a terrain size like you have it pretty large, so independent of what umbra cell size you have they will work.
The relevant parts which you can optimize / unoptimize are only the stuff you put on the terrain.
If the whole terrain is walkable, using multiple overlapping areas only makes sense if you have “detail areas” and less detailed areas.
A detail area would be a village or alike where small objects are present, even more so house interiors which you would make own cells.
whats commonly nearly more important with raw outdoor is that you use the camera layer based cull distance to get rid of stuff that would still be in view but “too far away to make sense to render” (either to really hide or have a lod system)
Thanks for your reply. Perhaps I should have been a little clearer: I’m well aware that the terrain doesn’t participate in batching: the map is walkable in its entirety, with clusters of buildings consisting of many semi-complex meshes, so there are areas of varying level of detail. My question really had to do with the batching process itself - at some point, the time to render a frame is no longer reduced by batching of meshes, but increased. I was really wondering what the considerations are with respect to this and where the breakpoint might be. But I do understand the concept of batching.
Occlusion culling of course gives a huge speed boost, but even though I’ve experimented with various granularity settings down to 0.1, I still keep coming up with troublesome spots where everything is culled. This seems to happen inside or in close proximity to buildings; I can see no apparent reason for it, and decreasing the cell size even further doesn’t seem to make the anomalies disappear. As I understand it, you would create occlusion areas to cover villages (at what resolution?) and then add separate occlusion areas (at what resolution?) for each separate building?
The present frame rate is approximately 25 fps, after occlusion culling.