Hint brushes, what they do and some examples on use.
Also check out the HOM(Hall of Mirrors) fix after reading this.

When compiling the map with kpbsp.exe it will split the map into invisible 'areas' and create a file containing these.
These areas have what are called portals, these are stored in a seperate file names 'YourMapName.prt'
The purpose of these portals are to split up the world into sections to allow for kpvis.exe(VIS) to calculate weather you can or cant see an area.

The use of a hint brush is to splits these portals along every face of the brush that has the hint texture (textures/common/0_hint).

The map VIS process needs to test if the single area(that you stand in) can/cant see every other area in the map.
This is why VIS takes a long time if the map was not created properly, espicaly using cones/cylinders that are not made into a detail brush.

Most of the time a portal area will be created as simple as can be, usually to long, the longest portal you will find is 1024 units
This is because bsp automatically divides map along the X,Y axis every 1024 units, it also makes tris (triangles) along these lines.
I have also noticed that if a lot of brushes have been made in same direction, bsp will split the portals in those directions

You can view these default splits on 1024 in editor by setting filters(shortcut F) to show 'Blocks'.

Some times with a hint placement you will notice it made tris different, its not designed to effect tris directly, this is because it changes the map structure it will compile/optimize brushes in a different order.
Also note if a HINT brush is placed through a detail brush, it will always split the face (make tris).

PIC 1
In pic 1 you can see the portals (purple) with players in them (red) . Even though the players cannot see 1 another, the portals that they are in can see each other so tris around the corner will get rendered (see pic 3). if I place a hint brush to split the portals (purple ones)along the inner wall, it will make VIS think that the portal that I am standing in CANNOT see the portal the other payer is standing in, thus not rendering what's contained in that portal and beyond. Players, weapons, armor and most importantly triangles wont get rendered, this is what causes bad frame rates, especially when it can be avoided
PIC 2
Pic 2 is with q3rad's portal viewer portraying the purple portal areas that is seen in pic 1.
See the Q3Radiant setup guide.
Netradiant and Trenchbroom also support viewing the .prt files.
PIC 3
Standing at player #1(see pic1) you can see the area that player #2 would be standing in.
This is because the purple area(pic1) that the players are standing in can see the other purple area.
PIC 4
Pic 4 is my hint placement to brake up the larger portal area.

Skip texture will be discarded by the compile. So no splits will be made.
Although using a skip like this is pointless because its up against a 'solid' wall and will get discarded anyway.
PIC 5
In pic 5 this shows how the portal areas will be generated.
PIC 6
Pic 6 is the ingame view using hints from pic 4.
You can see that the bin does not get rendered while standing at player#1 position.
PIC 7
Pic 7 is another technique you could use when getting pushed for r_speeds.
You can see that the hint is placed on an angle, the principle is still the same, were the purple portals still cannot see 1 another but it allows player to move further towards the next room
PIC 8
Pic 8 is the editor hint placement. As shown in pic 7.
PIC 9
In Pic 9 I am standing inside the purple portal. As shown in pic 7, player #2.

This picture shows how effective my hint placement was, I can almost walk up to corner and its still not rendering thebin.
If there was a huge and detailed room after bin, then you understand how effective this will be on gameplay.
PIC 10
In Pic 10 I have walked just past the angled hint brush.
Entering the light blue area as seen in pic 7, player #3.
Note that the hint did not create triangle splits along the hint placement.
This is part of the bsp optimization process.
PIC 11
Pic 11 is another example of player not being able to see 1 another, but the area they stand in is able to see the other portal area.
PIC 12
Pic 12 shows another effective hint placement.
When you create hints like this, they should be a brush that takes up the blue area
PIC 13
Pic 13 is the hint placement used in pic 12.

If you want to view the triangles in game you need to use the command 'gl_showtris 1' in the console.
Add this script to your autoexec.cfg so you can press the home button to toggle showing the triangles.
bind home "tris1"
alias tris1 "gl_ext_multitexture 0; gl_showtris 1; vid_restart; bind home tris0"
alias tris0 "gl_ext_multitexture 1; gl_showtris 0; vid_restart; bind home tris1"
Another command that can be of use is
'gl_lockpvs 1'.

It stops the engine calulating what you can/cant see(vis) and sets the camera position to where the player is standing at time of entering the command.
'gl_clear 1'
will remove the void glitch so you have a clear view when using the above command.

Note: gl_lockpvs and gl_clear can only be used with single player (deathmatch 0)