A simple question over map optimization.

when trying to optimize a map, should the map have less brushes, less texture surface area, or less brush area?

None of the above. You should employ proper Optimization techniques, instead of cutting things from your map.

Not really, removing unseen sides of brushes is done automatically during VBSP and VVIS during compilation. The most you have to worry abobut is throwing in some visclusters and areaportals and things of the sort if it’s really starting to fail. If it’s not crashing and you get close to the average FPS of a map of it’s size, don’t worry about optimization.

This is a bad idea, because when your map finally does start to lag, you will most likely have to tear up large sections to optimize it correctly. It’s far better to optimize as you go along.


I build my map with nodraw-covered brushes, and only add textures as i need them. That way the texture optimization is done as I go, and I won’t have to do it later, as it’s normally a daunting process.

You realize that’s basically a waste right, because when VBSP runs and merges adjacent faces it deletes the face in between. There goes your nodraw.

However, having nodraw as the default brush creation texture makes your map look cleaner in hammer and if you decide to make something a func_detail or other brush ent you do not have to re-texture it.

Brush entities get their faces removed too as far as I know.

They don’t because otherwise we would have to make doors etc outside of the doorframe. But I am pretty sure func_detail does, because it can’t move so there’s no need for other faces, but also mainly because that’s how I remember them working.

This comes up practically every day, and nodraw doesn’t hurt, but it doesn’t have magical healing powers. It has uses, but not many. Depends if you can go everywhere in your map or not. For backgrounds, it will do something. But it may just be nicer to give it a tiny lightmap so you can still see the texture, not that you would need to. nodraw depends on whether you desparately need a few tris off your limit. AAaaaaaaannyywaaaay, this isn’t even the point of the thread really.

It’s still good to build in nodraw since some of the faces aren’t removed by VBSP, like a rooftop that doesn’t touch the skybox or a un-accesable area that you forgot to nodraw.

I’m confused, so if we say we have 2 brushes that touch each directly, then the faces where they touch will be removed?

That’s exactly what happens.

And it does apply to brush entities too, but only when the brushes all belong to the one entity.

Thank you for clearing up. Lots of wasted time covering those faces with nodraw then.

[insert smiley with no face]

Really? I didn’t know. I always nodraw everything, then texture it. So it’s a waste of time?

Not a complete waste of time. But it certainly doesn’t do anything different than mapping with real textures, then nodrawing unreachable areas later.

Ah well, I’m used to it.

Unless it’s func_detail, because that gets split up per brush, and not merged like other brush entities.

No it doesn’t. The face-removal process runs before leafs and before func_details are turned into world brushes.