Nodraw on non-visible faces

Lss40

L1: Registered
Oct 12, 2008
16
4
So i heard applying nodraw texture on non-visible faces of brushes improves FPS. Is that true? If yes, should i also use it with func_detail brushes?
 

FaTony

Banned
Mar 25, 2008
901
160
What is non-visible? If the face can't be visible even with noclip, nodraw won't improve fps. If the face can be visible only with noclip, that will help a little.
 

Apom

L6: Sharp Member
Sep 14, 2008
366
65
Nodrawing faces that are indeed drawn by the engine (but not visible because there will always be obstacles in the way) will improve performance, yes. But, this is a fairly rare situation : it occurrs with world-sealing brushes behind displacements or very large props (such as the 2fort rock wall). Usually, the entire brush will be textured with nodraw anyways (not just specific faces).

Nodrawing faces that are not drawn by the engine, typically the back sides of details that are in "eye candy" areas (not accessible in normal game play), will also improve performance, but as Tony says, by a very small margin. To put things simply: you should do it, but it doesn't really matter.
 

Sgt Frag

L14: Epic Member
May 20, 2008
1,443
710
to elaborate on what FaTony said:

The engine cues up everything in a given area. If you have a backfacing wall that the player can't see it wont be rendered so it wont have a cost to your GPU that does the rendering.

However since it is textured and is in a drawn area your CPU will keep track of those polys. So putting nodraw on them makes your CPU ignore them. Thus saving CPU performance that can be put towards other things.
You probably won't notice any difference in fps for a few polys, but if you add them up over your whole map it will make a difference.

Then there are unseen polys that butt up to other polys that will never be seen. Probably not even drawn or cued up. If you noclip you will see they aren't even there after compile. These get removed because the engine knows it's impossible for you to see them. But putting nodraw on them eases the load on the compiler because it doesn't have to figure out whether or not they will be seen.

another benefit is when flying around in the editor it's easier to see if you are in spots that are off limits to players.