long compiling time

rawrl337

L2: Junior Member
May 19, 2009
51
0
my compile log is fine no leaks (at least with the bsp checked only) my problem is that it takes a gross amount of time to compile. i leave my computer on overnight to compile my tf2 map but when i wake up it is still compiling. is it due to optimization issues because as of now i have a fully working unoptimized pl map. im trying to get this dome so i can release it as i am finishing up the final touches on the 3d skybox/

help plz!

thank you
 

Jack Riguel

L10: Glamorous Member
Jul 19, 2009
721
254
is it due to optimization issues because as of now i have a fully working unoptimized pl map.

thank you

Yes. It needs to be optimized.

I'd strongly recommend you read This.

It's a great guide and will help you through most of your optimization issues.
 

Blue552

L3: Member
Sep 16, 2009
137
18
Does it get stuck on base portal flow?

If so then yea, any small or complex shapes need to be converted to func_detail.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,135
6,056
func_detail stuff.

/bitchslap.

The chances are your map has few func_details, which are vitally important in source maps. because func_details are ignored when doing visibility we can make small/thin/badly angled brushes and brushes that hardly block sightlines at all into func_details and now the vis calculations ignore them so compile is muuuch faster, the end result is a smaller file and probably runs a bit smoother too.

It is all explained reasonably well in jack's link.
 
Last edited by a moderator:

strangemodule

L5: Dapper Member
Sep 10, 2009
223
59
Here is a helpful tip:

First, in normal compiling options, set VVIS and VRAD compile to "No compile" or w/e it was (meaning, just compile for BSP). After that is done, close the compile log, go Map -> Load Portal File. All the blue boxes are your visleafs, and the more you have, the longer your map will take to compile.

Jack's Optimization link explains optimization in further detail. Forgive me if anything in my statement was wrong, it's kinda late and I need to sleep soon.
 

rawrl337

L2: Junior Member
May 19, 2009
51
0
thanks for ur help. someone in the steam forums sent me to a link in the devolper wiki http://developer.valvesoftware.com/wiki/Visibility_optimization and that helped a lot. there was carving done to fit in windows so i nodrawed A LOT of my map to help with all that optimization.

is there any big differences in running VIS and RAD in fast mode compared to quality?

and wuts the best way to optimize a large mostly open pl map? i think the only fully closed areas are the respawn areas the rest is connected to the big open space of the map.

*edit* most of my brushes are func_detail i think. isnt that the default when when making blocks?
 
Last edited:

Jack Riguel

L10: Glamorous Member
Jul 19, 2009
721
254
[...]there was carving done[...]

Carve_Kitten.JPG


In all seriousness, don't carve in the source engine. It will save your compile times a lot if you refrain from using that ever so tempting button. :carve:
 

Ankh

L3: Member
Sep 18, 2008
114
41
running VIS in fast will result in lowered framerates as the visibility calculations are less efficient. it's OK for testing, but any release should be on full
Similarly RAD in fast will result in poor lighting as the light doesn't bounce as naturally, meaning you'll often get really dark shadows around your light sources and under rooves etc

So that is a fairly big difference

For a large open PL map, I'd suggest using areaportals. presumably there are some inaccessable rooves or places that won't be at all visible from certain points. Examples would include the end point not being visible from the start (usually). you can firstly use skybox brushes on the inaccessible rooves (it works best with peaked rooves because it's plausible you could only see one side of the peak at a time, it's also very good for rooves that the player will never be able to see the top of. By lining up these skybox brushes, the buildings they're on and flat ground, you can make giant areaportal doorways that will be able to separate off large parts of the map, giving huge boosts to not only framerate but compile time as any visibility calculations are "bottlenecked" through the portals, meaning only a few calculations end up needing to go through them. Take a look at decompiled Badlands for a good example of this.

other than that, Hint/skip brushes will really help, use them in conjunction with viewing the portal file and doing a super-fast compile in order to get fast feedback on how many visleaves you reduce each time. Remember, the fewer visleaves, the better.

Finally, if you're using a large number of props and you can't use areaportals to hide them because it's too open or because many buildings are func_detail and so don't blook visibiity, feel free to hide a few occluders in larger walls. just be sure said occluders don't inadvertantly cover any windows

Hope this helps, others - feel free to correct me if I'm wrong

EDIT: no, you have to use ctrl+T to make a brush func_detail. by default brushes are just brushes. methinks there's your problem. Just don't try to seal leaks with func_detail
 
Last edited:

rawrl337

L2: Junior Member
May 19, 2009
51
0
running VIS in fast will result in lowered framerates as the visibility calculations are less efficient. it's OK for testing, but any release should be on full
Similarly RAD in fast will result in poor lighting as the light doesn't bounce as naturally, meaning you'll often get really dark shadows around your light sources and under rooves etc

So that is a fairly big difference

For a large open PL map, I'd suggest using areaportals. presumably there are some inaccessable rooves or places that won't be at all visible from certain points. Examples would include the end point not being visible from the start (usually). you can firstly use skybox brushes on the inaccessible rooves (it works best with peaked rooves because it's plausible you could only see one side of the peak at a time, it's also very good for rooves that the player will never be able to see the top of. By lining up these skybox brushes, the buildings they're on and flat ground, you can make giant areaportal doorways that will be able to separate off large parts of the map, giving huge boosts to not only framerate but compile time as any visibility calculations are "bottlenecked" through the portals, meaning only a few calculations end up needing to go through them. Take a look at decompiled Badlands for a good example of this.

other than that, Hint/skip brushes will really help, use them in conjunction with viewing the portal file and doing a super-fast compile in order to get fast feedback on how many visleaves you reduce each time. Remember, the fewer visleaves, the better.

Finally, if you're using a large number of props and you can't use areaportals to hide them because it's too open or because many buildings are func_detail and so don't blook visibiity, feel free to hide a few occluders in larger walls. just be sure said occluders don't inadvertantly cover any windows

Hope this helps, others - feel free to correct me if I'm wrong

EDIT: no, you have to use ctrl+T to make a brush func_detail. by default brushes are just brushes. methinks there's your problem. Just don't try to seal leaks with func_detail

in all serious would you mind doing the optimization? i have no idea even reading it was like uhhhhh i still have no idea to incorporate into my map. will give u credit of course in read-me as a contributor. also after i can see what you did to try and help myself in the future. i learned everything on my own [this is my first map] by asking questions (ty for everyone here helping me here), reading tutorials. from installing sdk to the 3d skybox i have my first working* pl map!

*2 bugs to fix. blast zone on final cap and a death pit.
 
Last edited:

Ankh

L3: Member
Sep 18, 2008
114
41
in all serious would you mind doing the optimization? i have no idea even reading it was like uhhhhh i still have no idea to incorporate into my map. will give u credit of course in read me as a contributor. also after i can see what you did to try and help myself in the future

um, I'm hardly an expert. I think it would probably be better to read the tutorials and try to put them into practice. Or if you like I could try to clarify some of my earlier post. I think in the end it's far better for you to learn to optimize the map yourself. If you actually have a playable version I could send you some notes, or we could look around it and discuss it, but if I actually optimized the thing for you, I fear you'd probably still not understand it nearly as well as if you did it on your own.

and I myself am only working on my first map, so I don't feel I'm at all an authority on the matter. Not to mention everything I learned I learned the same way you did so it's not like anything I'm saying here is exclusively my own knowledge or incomprehensible to anyone new
 
Last edited:

lana

Currently On: ?????
aa
Sep 28, 2009
3,075
2,778
Here's an idea: go back and remove every brush you've carved and remake it.