aaron_da_killa said:
To be honest mate, I don't really care if I use fast vis or normal vis, I optimize my maps well (make it so that the game engine can't see too much at any one time) and I use area portals so I get very minimal difference between fast and normal vis. Using normal vis is alot more important in multiplayer maps and not so much singleplayer because you can't use areaportals in multiplayer.
To put it simply, the difference between fast and normal is that fast does a rough job and normal does a proper job. The only reason that feature is there is because sometimes normal can take a very long time and this can slow the development of maps having to wait all day for a compile to finish.
1) You CAN use area portals in multiplayer maps, I've used them sucessfully in my map dm_castigate (look at the rebel and combine "bases"), and mazemaster used them on dm_island17 (in every house)
2) I feel as though I should clear something up here arron about fast and normal vis. What you say here is VERY wrong.
Fast:
Creates each vis leaf for your level, a vis leaf per say is the volume that defines which polygons are drawn by the engine (polygons that can be either world, or models, or sprites). Beyond that its done.
Now when you enter the map in game, the engine is now dynamically calculating which vis leafs are visible from the current leaf the player is standing in. This leads to a lot of processor overhead thats not needed.
Proof: Turn on mat_showvisleafs 1 (I think thats the right command). You will see that despite the correct blockers, the engine is drawing the entire level (minus the max distance that the player will see stuff at).
Full:
It does the fast vis step, but then it takes it to the next step: It now calculates which which other vis leafs are visible for every vis leaf in the map. So if your into studying about orders of magnitude arron with algorithms thats (worst case) O(n^n). So say you have 1000 vis leafs, that means there are 1000^1000 calculations to be done. Thats a lot of calculations to be done.
Its better to get these pre-calculations to be done before you load it into the game. This way the engine doesn't have that extra overhead as it did in fast. Leaving more resources to dedicate to sound/game play mechanics/physics calculations/etc.
Proof: run the command again now, you will see that the engine is only drawing what is necessary for it to draw, and not the entire level.
So despite you (arron) not seeing a difference between them on YOUR computer (You probably have a kick ass processor), people with slower processors WILL see a difference because you didn't run it on Full vis. And your not being a good developer if your map only runs well on a select few computers. You will NEVER see any professional map maker ever leave the final version of a map in fast vis.
Take this lesson home:
FULL VIS IS AN ABSOLUTE MUST FOR THE FINAL VERSION OF YOUR MAP. You don't need it for subversions to check out lighting, but you do need to run it to check where to optimize.
Now how to fix this problem:
Your computer is crashing because its page file, and RAM run out of space. While valve did make a great compiler for their engine, they did not do any boundary checks (and how could they? a map can be n big, and if it stops at n-1 then how can it be completed?). A potential fix is increasing your page file size (or rather your virtual memory in your computer settings). I can tell you how to do that if you post back later, you'll also need a lot of hard drive space as well. However the more applicable solution is as follows:
If building portals takes more than 3 seconds to complete... its gonna take a long time to do the second calculations. If we refer back to the O(n^n), thats vastly exponential growth:
http://en.wikipedia.org/wiki/Exponential_growth
In other words say you have 100 visleafs. That means its going to take 100^100 checks to be done. This isnt bad, however say you add one more so its 101 vis leafs. That is 101 extra calculations to be done, not 1 more calculation. It grows FAST!
How do you get around this? Reduce the number of vis leafs you have overall using the tutorial posted. Thats going to be the ultimate way. Here is what I do:
On the right I unckeck all the models, func_details, everything, so that its just world brushes left. The rooms you should see should be relatively square and simple. If theres complex brush work (like stairs, or anything at an angle), turn it into func_detail or learn to model.