Jump to content

Caulk vs nothing (another optimization thread)


Recommended Posts

I'm not mapping much these days, but there's something I sometimes think of.

In GtkRadiant you make brushes, as usual, and they often have more sides than you really need. We caulk these sides so that they don't get rendered, but the collision detection will still be calculated. So for a map with lots of brushes, where 90% of all collision is actually hid under the ground or inside walls... wouldn't that start to impact something?

 

Ideally, wouldn't it be better with a map consisting only of planes and models, and an equally flat single plane for every collision surface, instead of a four-sided brush that won't play any part?

 

If so, wouldn't using a material like no-draw be more suitable than caulking unless the character is actually supposed to collide with it?

Link to comment

Ideally, wouldn't it be better with a map consisting only of planes and models, and an equally flat single plane for every collision surface, instead of a four-sided brush that won't play any part?

 

If so, wouldn't using a material like no-draw be more suitable than caulking unless the character is actually supposed to collide with it?

I believe engines these days use maps which are essentially a collection of models, with a separate collision mesh (usually a simplified version of the map). This has benefits for collision and rendering - you don't have unnecessary collision data, and your rendering can potentially be faster. Where models are used more than once, GPUs nowadays can draw them in one go, even if they are in different positions, different sizes, etc. So yes, it probably is better :P

 

After a quick talk with @@Didz, caulk is still necessary for calculating vis. nodraw doesn't block visibility (from the vis stage's point of view), nor is it solid (so no collision data is generated for it). There's also nodraw_solid apparently, which is solid, but it still doesn't block visibility.

DT. and Boothand like this
Link to comment

The nice thing about convex brushes is that collision detection against them is pretty fast. Yes, it's theoretically faster with less sides, but I wouldn't start optimizing that before finding out how much performance it costs.

 

Now patches on the other side are pretty expensive. I believe it's the collision, although it might be the rendering; at one point I converted a round room from patches to an ase model and gained quite a lot of performance.

Boothand likes this
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...