Anything mappers can do to optimize occlusion culling performance?
<div class="IPBDescription">tips/tricks? Dev thoughts?</div>While investigating the performance of some areas it seems the occlusion culling system has the biggest impact on whether an area performs well or not. I have a hallway that is mirrored on both sides, and when facing the sides of the hallway (such that I am not looking down the length of it) the side with other rooms and junk behind it is about 20fps lower than the side without. When I run wireframe mode to check what is being drawn sure enough the rooms behind it come in and out of rendering quite frequently. It doesn't seem to matter what geometry is separating the areas, though at certain angles the other rooms and items are properly prevented from being rendered.
Are there any tips/tricks mappers should be aware of to cater to the occlusion culling system? Are there distance considerations, angles, or anything else we can possibly use to our advantage while putting the maps together? Thanks.
Are there any tips/tricks mappers should be aware of to cater to the occlusion culling system? Are there distance considerations, angles, or anything else we can possibly use to our advantage while putting the maps together? Thanks.
Comments
That is great news, hope they go well. The performance has gotten really good when this factor doesn't come into play, so here's to making it better :)
I did notice that the sky-buildings are a big slow down for me, i can't speak for everyone but that's my experience.
YAY! you are a genius.
I've been observing that a lot of my geometry/props are rendered from rooms across the map.
An explanation of how the occlusion culling works would be nice as well so I know how to work with it.
Even if it is 'automatic' it would be nice as well to be able to help it out like vis blocks from hl engine.
In that case vertices are not on the grid (floatcomma) even though the editor shows they are.
You can spot those vertices by checking adjacent lines and faces for scales that are supposed to be "0" but show "0.01", for example.
Also textures on those faces don't use the exact scale they are supposed to (1.001 instead of 1); sometimes you even need another angle than 0°, because some vertex is screwing up the face orientation with its minor, not shown floatcomma values.
I've noticed my problems are more frequent when there is a fin void between two walls, even if they have no visibility from one room to the other, (they connect from other rooms). Something to look out for.