Compile shortening?

  • If you're asking a question make sure to set the thread type to be a question!

HQDefault

...what
aa
Aug 6, 2014
1,056
535
Umm... I'm currently trying to to compile my map, but recentley, the comile time has been taking longer and longer, to the point where I'm literally waiting 45 minutes for it to compile. If it works. 75% of the time, it just stops responding and won't compile. Any way to fix this?


EDIT:
ITS FIXED. CONVERSATION OVER!
 
Last edited:

Dain

L3: Member
Oct 21, 2009
106
43
Most long compiles are caused by poor VIS management.

Make sure any small and/or complicated brushwork is a func_detail, so that they don't cut VIS.

Use visclusters in large areas to tell VVIS that all the visleaves in that area can see each other.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,135
6,056
Only compile what you need to. If you're just testing entities or layout, you don't need vis or lighting info, so just do VBSP and turn off VVIS and VRAD. If you're just doing a lighting test, you don't need proper visability info, just the basics that VVIS provides to VRAD, so do a fast VVIS (and if you don't need to do super fine tuning, just leave VRAD at fast too)

45 isn't bad for a full on release compile. If you're PC is getting on a little that's fine. Mine takes about 50 for snowplow and my PC was a BEAST, but it was a beast five years ago. (Frozen's newer rig takes 20)

You only know you have problems when VVIS specifically is taking most of the time, especially as if you're running VRAD for HDR every time, VRAD is running twice, and for local testing compiles you really don't need that.

Also, for things like leak checking, just run VBSP, don't bother with VVIS or VRAD since the error is in VBSP.

Look at your most recent compile log, scroll through and see what times VBSP,VVIS,VRAD and the second VRAD (if applicable) are taking. Then tell us. If VVIS is taking longer than VRAD, you might need to do some geometry optimisation. Otherwise I'd just say you've got an older PC and are compiling on full every time.

ninja edit: Also, hammer will stop responding during a compile, that is normal. Just leave it be unless you see VBSP.exe, VBSP.exe or VRAD.exe at 0%cpu, then they've crashed.
 

Crash

func_nerd
aa
Mar 1, 2010
3,312
5,498
When I reformatted my rig recently I got rid of my overclock. My compiles started taking about a third longer than they did before. Overclocking again from 3.3 GHz to 4.2 dropped it back down to normal. Glassworks full compile takes me about 25 minutes now, for reference.

Not sure if it's an option for you, but thought I'd mention.
 
Last edited:

henke37

aa
Sep 23, 2011
2,076
513
If VVIS takes more than a few seconds then you have a problem. Load the portal file and check for silliness.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,135
6,056
If VVIS takes more than a few seconds then you have a problem. Load the portal file and check for silliness.

Very much wrong. Small, incredibly simple maps might take a few seconds, but anything more complex or larger is gunna take time. You certainly can't make that kind of statement.
 
Mar 23, 2013
1,013
347
Very much wrong. Small, incredibly simple maps might take a few seconds, but anything more complex or larger is gunna take time. You certainly can't make that kind of statement.

From my experience it's often more a matter of the complexity of solid brushes and how open the map is.

A giant map can compile VVIS in 2 seconds if its not too open (usually all indoor) Large open areas will take their time, especially if you can't use func_viscluster a lot because of complex brush work.
 

Fruity Snacks

Creator of blackholes & memes. Destroyer of forums
aa
Sep 5, 2010
6,394
5,571
45 isn't bad for a full on release compile. If you're PC is getting on a little that's fine. Mine takes about 50 for snowplow and my PC was a BEAST, but it was a beast five years ago. (Frozen's newer rig takes 20)


Should note, my computers 5 years old too ;)
 

Dain

L3: Member
Oct 21, 2009
106
43
Datapoint: I compiled the tc_hydro VMF provided with the SDK in 5 minutes 5 seconds on normal settings. My computer is nothing special.

(the VRAD part of a HDR compile with -final took over half an hour though :s)
 

wareya

L420: High Member
Jun 17, 2012
493
191
VVIS for my 5CP maps only takes a few minutes, even the ones that don't seal huge areas from eachother with areaportals and roof skyboxing. And... I have a TERRIBLE CPU for compiling maps. We're talking third generation of 64-bit processors here, seven or six years old.
 

RaVaGe

aa
Jun 23, 2010
733
1,210
Very much wrong. Small, incredibly simple maps might take a few seconds, but anything more complex or larger is gunna take time. You certainly can't make that kind of statement.

Actually it depends a lot of your hint brushes and how silly you are when you map, with no hints in my maps, my vvis always takes less than 10 seconds, and most of the time it takes 0 seconds when i'm in the early stage of the development. (blorav takes 0 seconds actually).

The processor of course has an important part into the time it takes to compile a map, but often the way you make your map is also pretty important, you should cut your map as much as possible into small boxes, and use wisely your hint brushes.

But remember that the in-game optimisation is always way more important than the optimisation of the compilation time.

So imo, when your map is in it's first blockout stage, where you don't need to use the hint brushes (I use the areaportals most of the time in my blockout), vvis should always takes less than approx 1 min, depends of you processor of course, but if your processor is a beast and that it takes you already more than one minute for vvis to compile in a blockout stage, then you have an issue.

The use of func_detail is pretty important if you want to shorten your compile time, use them everywhere except where you have to block the visibility (stairs, roofs, windows, doors) have to be func_detailled.

But use them wisely because you can ran out of them pretty easily, and there's also the T-Junction issue wich is kinda annoying to deal with.

EDIT: Also for a fully optimised map, it depends a lot of the size and the geometry, and there's no defined time for that, ofc.
 
Last edited:
Oct 6, 2008
1,947
445
Also use VBCT instead of compiling in Hammer.

Hamer compliles totally lock up your machine - VBCT will compile in the background and still allow you to use you machine.