13+ Hour Long Compile?

Nicknam4

L1: Registered
Dec 8, 2011
28
12
Hey guys. Virtually finished making my map here, and since I wanted this final test to be put on my server for some friends to play with, I set vrad and vvis to normal instead of fast. Bad idea. It's been compiling all night and still going at just over 13 hours. I'm sure this is because of stupid mistakes I made on my part (Like making a square skybox...) however they were things I never worried too much about because I didn't realize it would take this long. Fast settings took not even 10 minutes.

My computer is still running really slow so I think it's still running and not simply frozen. The map isn't very big but I do have maybe 50-100 props. How long should I continue waiting for it to compile, and are compiles lasting longer than 4-5 hours that common?

Thanks guys.
 

xzzy

aa
Jan 30, 2010
815
531
A "fast" vis compile should take less than a minute. A normal vis run will generally be under 20 minutes.

If it takes more than an hour, you need to fix your map.
 

phi

aa
Nov 6, 2011
832
1,815
Take a look at Valve's maps and you'll see that practically EVERYTHING that doesn't impede sight is a func_detail. Trims, ramps, roofs, anything that sticks out and anything oddly angled should be a func_detail. Others could explain it better but that's what I do to get 9 minute compiles in near-beta.
 

bob+M|M+

L6: Sharp Member
Mar 31, 2008
346
394
Occasionally hammer DOES just freeze and there's no way of really knowing. That's why you should use the vbct compiler instead. It will never freeze, it doesn't lock up your computer so you can use the internet while you compile, and you will see the continuous progress bar. It's great! Although the major problem here is probably your optimization. Also if fast settings take you 10 minutes, normal shouldn't be more than ~30 minutes.
 
Last edited:

Nicknam4

L1: Registered
Dec 8, 2011
28
12
Thanks a bunch everyone! I didn't know about func_detail so that should help tremendously with the map's optimization. Also, thanks for that vbct compiler, had no idea it existed. That will make a huge difference to knowing how close to finished it is. ;)

I've ran into a few problems with props, though. When I make a prop that the player can't come in contact with, I make it a prop_detail, but while I playtest, every prop_detail shows the ERROR model. Anyone know what causes this?
 

bob+M|M+

L6: Sharp Member
Mar 31, 2008
346
394
I've never used prop_detail, but prop_static is usually the way to go. Prop_static with collisions turned off.

yeah for func_detail, you'll be wanting to func_detail the majority of your map, anything that is not a perfect block. So stairs, slants, slopes, cylindrical shapes, etc. A quick way to do this is fly around in your 3D view by holding space+left click+aswd to move around, click on objects, hold ctrl+click for multiple select, and then ctrl+T to instantly change it to func_detail. But just keep in mind func_details don't plug leaks.
 

Ravidge

Grand Vizier
aa
May 14, 2008
1,544
2,818
prop_detail is not something you place manually, it's a special type of prop that is used by textures, to place bushes and branches randomly on the ground.
It's more or less completely defunct in TF2.

For TF2 you want to use prop_static in the VAST majority of cases. prop_dynamic has a few uses, but you'll learn where and when with time.
 

RaVaGe

aa
Jun 23, 2010
733
1,210
A normal vis run will generally be under 20 minutes.

If it takes more than an hour, you need to fix your map.

Uh, stop saying bullshit, if your vvis take more than 2 minutes, it's over, in general, my vvis is during less than 10 seconds, even if it's a payload.
 

grazr

Old Man Mutant Ninja Turtle
aa
Mar 4, 2008
5,441
3,814
Uh, stop saying bullshit, if your vvis take more than 2 minutes, it's over, in general, my vvis is during less than 10 seconds, even if it's a payload.

You can compile a payload map with normal vvis in 10 seconds? What the fuck?

---

You should never compile in fast mode unless your intention is to debug entity logic. fastvis is not a shortcut to determine whether your map compiles or not. Always make sure your map compiles normally. The longer you leave your map the more issues and more complicated and irreversable errors become, and the harder they are to discover the source of.

For future reference it is recommended you don't fast compile at all. In fact i'd only suggest using it if you're a novice as it is a tool, not a means to an end.

In all likely hood your map simply takes so long because it is open and with limited manual optimisation; and you've exaserbated the issue by not optimising as you go, having relied on fast compiles. So the issue isn't really a bug, it's just your map. But it would help if you A) give us your computer specs and B) show us a picture of your map so we can determine whether its a system performance issue, poor map design, a combination of them both or something else.
 
Last edited:

tyler

aa
Sep 11, 2013
5,102
4,621
Take a look at Valve's maps and you'll see that practically EVERYTHING that doesn't impede sight is a func_detail. Trims, ramps, roofs, anything that sticks out and anything oddly angled should be a func_detail. Others could explain it better but that's what I do to get 9 minute compiles in near-beta.

That's not necessarily true; look at how Viaduct is optimized, or Gravelpit.

Also I can make any map compile in 20 seconds too. The trick is to just func_detail every bit of world geometry so you're just compiling an empty cube. Still get shit optimization.
 

henke37

aa
Sep 23, 2011
2,075
515
A good trick to speed up vvis is to use func_viscluster.
 

RaVaGe

aa
Jun 23, 2010
733
1,210
You can compile a payload map with normal vvis in 10 seconds? What the fuck?

Yep pl_decay was compiling in less than 10 seconds, but it was only optimised with area_portal, i guess if i had some stranges hints in the map the vvis time would take a little longer, like 1-2 minutes, but it's a big drama for me if vvis take more than 2 min.
 

Nicknam4

L1: Registered
Dec 8, 2011
28
12
For future reference it is recommended you don't fast compile at all. In fact i'd only suggest using it if you're a novice as it is a tool, not a means to an end.

But it would help if you A) give us your computer specs and B) show us a picture of your map so we can determine whether its a system performance issue, poor map design, a combination of them both or something else.

Here is what the map looks like, it is pretty simple. (Blu is the same, but mirrored)
mh7eU.png


You can probably see why it took so long immediately. None of those brushes are func_details. Silly mistake on my part.
 

Nicknam4

L1: Registered
Dec 8, 2011
28
12
Yes but if I do that, you can't see the border behind them, at least I thought.

Also, should I make the floors func_details as well since there isn't anything below the map?
 

RaVaGe

aa
Jun 23, 2010
733
1,210
Please take a look at valve's map, uncheck the toolbrush, the func_detail and the props, in the visgroups and look how it's made.
 

Ravidge

Grand Vizier
aa
May 14, 2008
1,544
2,818
What is this fight about "my vvis takes X minutes, so there!"... completely meaningless.
vvis depends on your CPU, the size of the map, and how the map is structured, you can't just say "It should take 5 minutes!" neither can you say "it should take 10 seconds!".

first of all: func_detail doesn't optimize the map. It only optimizes vvis.

Having a faster than usual vis pass generally just means your vvis didn't find much to calculate, in other words there is not much actual map optimization going on. What you did instead was optimize your compile times.
Having a slower than usual vis means vvis is calculating a lot of stupid things that it wouldn't need to if you kept your func_detailing in order.

Comparing times (between people, and computers) is stupid unless you're both/all using the same benchmark vmf when timing yourselves.


---

Nicknam4: your problem is the nodraw cones inside the trees, I suggest changing the texture to "blockbullets" and make them func_detail as well. The reason being that it will have the same effect as nodraw does now, but blockbullets won't create large black shadows.

The slanted rooftops are also a issue, but compared to the tree-cones its minimal.
 

Nicknam4

L1: Registered
Dec 8, 2011
28
12
Nicknam4: your problem is the nodraw cones inside the trees, I suggest changing the texture to "blockbullets" and make them func_detail as well. The reason being that it will have the same effect as nodraw does now, but blockbullets won't create large black shadows.

The slanted rooftops are also a issue, but compared to the tree-cones its minimal.

Yes, after doing research about Vvis I facepalmed about the tree cones. Never knew about the blockbullets texture though, I will give that a try. Thanks.