yes cgs subtract can do such problems. for detail work insted of so many blocks, i recomend replacing some of that block work with map entitys.

avoid intersecting block surfaces. snap them flush vs passing one block through another.

avoid too many angled surfaces on a single block. more surfaces that are aligned to the level grid the better.

be sure to use snap to grid. surfaces not snaped to the BSP level grid can give some rendering and build problems

if running allot of sprites/models look at making LOD versions of them so you can reduce rendering time for further away sprites/models

don't use allot of huge textures. i try to avoid using any over 256x256


be mindful of visability. more that is visible in a given frame more the frame rate hit. a little texture fog and level fog helps. plus it helps reduce texture shearing, and moraie effect (correct spelling?) for distant rendered surfaces.