Compile Times...
Post Reply
Quote
Re: Compile Times...
Posted by Riven on Tue Mar 27th at 4:08am 2007


Hey guys, I'm looking to upgrade my system soon...

All I want to know is which choice of hardware would have the greatest effect on my compile times? I looked around online and in the forums, but didn't find anything too specific on what was best for speeding up compiling. (one thread sugested the RAM was paramount, but I want to find out for sure...)

Here is my current system:

ASUS A8n SLI premium (socket 939)
OCZ 2GB DDR 400 (PC 3200)
AMD 2.4GHz 3700+
Nvidia 7800 Gt 256MG
2x WD 250 SATA HDD (both backups)
1x WD 250 IDE HDD (main; os install)

Here are my choices:

exchange for>AMD Athlon FX-57 San Diego 2.8 GHz 1MB L2 Cache
exchange for>AMD Athlon 64 X2 4600+ Toledo 2.4GHz 2 x 512KB L2 Cache (dual-core)
add to>RAM: 2GB DDR 400 (PC 3200)

I'm limited to my socket 939; these were the choices that best fit my budget IMO, and I believe those processors are the best that is left available for the 939.

Any help here would be greatly appreciated guys! (Not to mention informative).







Quote
Re: Compile Times...
Posted by Gorbachev on Tue Mar 27th at 4:47am 2007


Honestly your current system isn't bad. I really only know of the older compiler and it's been a while...I used to know it inside-out almost, but I haven't even looked at HL stuff in over a year. There's a max that certain amounts of RAM and Processor speed will cap at due to different factors, although if the compilers can take advantage of dual-cores then that's probably the only thing I can think of that will make a marked difference in your case.



Quote
Re: Compile Times...
Posted by Crono on Tue Mar 27th at 5:39am 2007


Memory speed and CPU speed are the only things that predominantly effect compile times (HDD access speed is also a factor)

I don't see why you'd want to do an insane-blow-my-brains-out-upgrade, really. I could see upgrading the CPU to a dual core, or something like that, but doing something extravagant wouldn't be prudent when talking about cost.

People seem to be asking this question a lot, so, I'll lay down a couple things to remember:

1) You should be more concerned with how well the map runs, not how long you'll be inconvenienced for when you compile it. Also be aware that while you're building the level you should be using "fast" compile options. Then when you make a final release, you turn all the "bells and whistles" on, so to speak.

2) It's a compiler. All operations being done are pre-computations or translations so the game can read in the map. So, everything is done on the CPU. You can treat it like any cpu intensive task. It has no comparison to how well the actual game runs on your system.
People seem to be confused by this for some reason.

Foremost: What is happening (most likely) is that the CPU can't possibly compute the data it's working on faster than the data can be retrieved from memory.

We can pretty much assume that the calculations being done (on vis and lighting, for example) are far too complex for the system bus to be slowing the process down by leaving the CPU idle. So, the only way you'll notice ANY speed up is if you get a faster (or multi-core) CPU.

As for the amount of memory you have, there's a good chance that Windows forces Hammer (or whatever editor) to use virtual memory even if physical memory is not even close to full ... so adding more memory to 2GB (which is a good chunk of memory, twice as much as myself) wouldn't do much of anything. You will definitely notice some increase in speed because not as many things will be paged, but for specifically speeding up compile times ... it'll have little to no effect, when you're compiling data, it's not large enough nor old enough to get the boot into VM (unless you begin compiling and then run a game or something!)

Overall, I wouldn't suggest upgrading anything really, especially if your goal is to simply cut down compile times. A better solution, would be to figure out how level complexity works in whatever game this is for (or language!) and then try to optimize the way you create things to suit that.



Blame it on Microsoft, God does.



Quote
Re: Compile Times...
Posted by reaper47 on Tue Mar 27th at 8:36am 2007


I would like to ask you: How long do compile times take for you now? If you're talking about multiple hours (or more than 5 minutes for vvis), then the only way to really speed up things is optimizing the brush geometry.

People suggesting RAM as the most important part for compiling is IMO a relic from the times when 64 or 128 MB were standard (HL1 times) and RAD used the hard-drive which was really slow. I've never seen any compile program using considerably more than 170 MB of RAM. 4GB would be total overkill.

I think the compiler can handle multiple cores which sounds like it could speed up things quite a bit. But I don't know.

Again, if you are looking for a way to speed up those 8-hour compiles you're probably looking at the wrong place image






Quote
Re: Compile Times...
Posted by wil5on on Tue Mar 27th at 9:28am 2007


The general rule for compile times is leave it overnight, if it still takes too long, your map is broken.


"If you talk at all during this lesson, you have detention. Do you understand?"
- My yr11 Economics teacher



Quote
Re: Compile Times...
Posted by Wild Card on Tue Mar 27th at 11:45am 2007


Yup, agreed with a lot here. Your rig is fine, short of being NASA super computer compatible <img src=" SRC="images/smiles/icon_cool.gif">

As far as I know, going to a slower dual core rather than a faster single core would slow down your compiling because compiling is still a single-process... err.. process.

But check your map-work. Do you have overlapped brushes? Do you have overly stretched textures? Do you have long brushes which get hit by different lighting entities? (If thats the case, cut the brush into smaller pieces). Maybe texture outside brushes (which face the void) with a null texture or something.

Then again, Im going by 2-3 year old HL1 data here but I'd imagine it still applies.




Quote
Re: Compile Times...
Posted by Forceflow on Tue Mar 27th at 12:04pm 2007


There is still no multi-core compiling, so multiple cores won't help.
Is there a netvis release for source compiling, actually ?



:: Forceflow.be :: Nuclear Dawn developer



Quote
Re: Compile Times...
Posted by reaper47 on Tue Mar 27th at 1:03pm 2007


? quote:
There is still no multi-core compiling, so multiple cores won't help.


Thanks for making that clear, I always wondered. Then what Wildcart said applies and multi-core processors could even slow down compiles as the single cores themselves are actually slower. Paradoxical! :o






Quote
Re: Compile Times...
Posted by Wild Card on Tue Mar 27th at 1:50pm 2007


/me wonders how you got 'Wildcart' out of 'Wild Card'

Dual cores wont slow down a compile process. Dont get that idea. But buying a dual core at a slower speed rather than buying a single core at a faster speed will make for slower compiling compared to the latter.

But at the same time, with a dual core, you can pretty much safely compile your map and then play a video game. Provided you have enough (2gb I'd say) RAM.

I have a dual core at home with 2gigs, and although I've never used it to compile, I can safely have 2 video games going, a virtual machine with 384mb of RAM, and Folding@Home at 100% CPU.





Quote
Re: Compile Times...
Posted by reaper47 on Tue Mar 27th at 3:03pm 2007


Embarrassingly enough that's a "fixed" typo from "Wildcat". Sorry, Wild Card, I should stop typing with my ass.





Quote
Re: Compile Times...
Posted by Wild Card on Tue Mar 27th at 3:10pm 2007


Typing with your ass? No by all means continue, that sounds like quite a talent <img src=" SRC="images/smiles/icon_biggrin.gif">



Quote
Re: Compile Times...
Posted by reaper47 on Tue Mar 27th at 5:16pm 2007


Yea, its goood traning.





Quote
Re: Compile Times...
Posted by Wild Card on Tue Mar 27th at 6:20pm 2007


training*





Quote
Re: Compile Times...
Posted by Forceflow on Tue Mar 27th at 10:39pm 2007


One 3 Ghz core: regular compile time.
Two 1.8 Ghz cores making up a dual core, but only one can be used by the Source compile libraries, resulting in a slower compile time.

I know I'm over-simplifying the architecture of dual-core processors here (after all, today's processors are hardly judged by clock frequency), but that's basicly the idea Wild Card was stating.

On the record: don't upgrade your PC to compile faster. Really, unless you buy a small storage room full of Dell Poweredge Servers, it won't help. Optimize your maps.

If only Netvis was there. You could buy a bunch of cheap pentium II/III's, throw them in a lan, and have your own compile-bench ! (Sure, sure, it only works for vis ... but still .. the sheer coolness of it. *dreams*)

If you do have multiple computers at your disposal, you can let one handle the RAD process, one for VIS, ... it's a lot of file swapping, but it speeds up the overall process.



:: Forceflow.be :: Nuclear Dawn developer



Quote
Re: Compile Times...
Posted by reaper47 on Tue Mar 27th at 10:43pm 2007


<img src=" SRC="images/smiles/icon_wink.gif">





Quote
Re: Compile Times...
Posted by Naklajat on Tue Mar 27th at 11:26pm 2007


Source maps compile much faster than GoldSrc maps, especially if you use func_detail copiously (so do so if you don't already).


=o



Quote
Re: Compile Times...
Posted by mazemaster on Tue Mar 27th at 11:45pm 2007


Which part of the compile process takes the longest on your current setup?





Quote
Re: Compile Times...
Posted by Riven on Wed Mar 28th at 12:08am 2007


Well, in answer to Reaper47, my compile times aren't long at all really, and my mapping techniques are pretty solid (as far as optimization is concerned) I think I put into practice most of what they suggest to do to optimize a map (for in-game running, which now, thanks to Crono, I know is completely irrelevant to compile times.)

In answer to mazemaster: I would say the lighting (RAD) takes the longest, then VIS.

However, the AMD Athlon 64 X2 4600+ Toledo 2.4GHz dual-core processor that I have listed runs at the same clock speed that my 3700+ runs at. I find that if I installed that with a good heatsink, I could overclock that by at least .2-.3 GHz over. But I suppose I am at the best state now for my computer in compile times. The dual-core sounds most beneficial for being able to compile a map and complete other tasks simultaneously.

The reason stands because I am drawing up plans for some rather large maps, and would hope to have more time to fix problems within them rather than spending that time waiting on a compile process.

But yea, you could say it's all because of inconvenience. I might keep a look-out for better hardware choices to benefit my game design needs, but I'm backing down now, I suppose if I do buy anything it might be that dual-core, but I'll wait for prices to drop...

Thanks for the input!







Quote
Re: Compile Times...
Posted by Crono on Wed Mar 28th at 12:37am 2007


This is what I was talking about earlier. The one that will always take the longest (in a full fledged map, thus situations where you care about compile times) is radiosity calculations. Calculating the bsp tree and vis leafs would not take as long, so unless you have a very poor layout (where backtracking would happen when constructing that tree) it will always be faster.

So, the tool that is your friend in hl2 is the cordon texture. Check it out if you're already unaware of it.



Blame it on Microsoft, God does.



Quote
Re: Compile Times...
Posted by mazemaster on Wed Mar 28th at 8:38am 2007


Alright then, so long as you aren't running out of RAM, I would say go with the beefier CPU.

The reason I asked about your current situation is that vis is notoriously stupid and so if that was the bottleneck then there are a lot of simple tricks that can speed it up considerably (15 hrs to 2 hrs, for example), and which you should do before buying new hardware.







Post Reply