I find it easier to group brushes together as one func_detail if it’s all one object.
use propper to turn some of your brushwork into models
VVIS calculations take longer with the more visleafs you have, use Map -> Load Portal File to see your visleafs. Each blue line represents the edge of a space in your map. Certain parts of the map which you cannot see are not rendered to improve framerate. In order to calculate visibility, VBSP (the first compile program) splits the map up into visleafs, VVIS (the second compile program, the one that takes the longest with unoptimized maps) will take each visleaf and calculate:
can leaf 1 see leaf 2? no
can leaf 1 see leaf 3? yes
can leaf 2 see leaf 3? yes
When you play the map, your character will always be standing in a visleaf as long as they are inside the map, and whichever visleafs are not visible have all their containing contents not be rendered. When you run VVIS on fast, it skips over the leaf visibility calculations, speeding up compiles, but potentially lowering FPS. (more info at http://rvanhoorn.ruhosting.nl/optimization.php )
So to get low compile times on final compiles, use common sense and func_detail anything that doesn’t block a lot of visibility in the map. If VBSP is cutting visleafs in a wierd way, you can force a visleaf cut with a hint/skip brush (also more on the guide I linked to).
displacements should never be turned into func_details - or any entity for that matter - VBSP crashes if you do so. Any brushes that block a lot of visibility should not be turned into func_detail either, or any brush that is sealing the map from a leak.
If you have two really detailed rooms connected by a hallway, improper visleaf usage can kill your framerate by rendering both rooms at once, but proper visleaf usage can increase your FPS by only rendering one room at a time, and it has a minimal (maybe a second or two) hit on your compile time. (example)
I usually pull up Map -> Load Portal File after creating another chunk of a map and start deciding what gets func_detail’d and whether or not a hint/skip brush will be of any use or help.