Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Hardware Setup for best Enlighten Performance

Discussion in 'Global Illumination' started by Liquidwad, Mar 20, 2015.

  1. Liquidwad

    Liquidwad

    Joined:
    Feb 8, 2015
    Posts:
    5
    Hi All,

    I am converting a game to use Unity 5's realtime GI, but I am finding that the GI pre-calculation is taking a very long time, especially with scenes with a large amount of objects in the scene. I am ready to upgrade my PC to make this process faster, but I am wondering what is the best configuration to use for speeding up the pre-calculation:

    - Processor: Will it benefit from more cores, but slower clocks per core, or fewer but faster cores?
    - GPU: Does it use GPU acceleration in the pre-calculation? If so, will it benefit from faster double precision performance or does it use single precision? (i.e. Workstation vs Gaming graphics card)

    Are there any other hardware considerations I should take when building a system optimized for Unity-5 GI?

    Thank you
     
  2. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    I have a recent 32 thread Xeon (dual proc) and an older 12-thread i7 980X (not overclocked).

    The Xeon is about 5-6 times faster than the i7 when it comes to baking & GI calc (I say about as it's hard to compare the realtime calcs directly), which is nice but maybe not jaw dropping given the age and price difference (CG rendering and simulation stuff, different story). More cores are terrific, but you'd be surprised how many applications (even pro 3D apps) have important commonly used features running on a single thread, so it's not always win-win. A single threaded process on my PC runs at just over 3% in task manager. Think about that :) The new 8 core i7s are very nice. Expensive, but not even close to high-end Xeon prices.

    There's no GPU acceleration yet - it's been hinted at in the future, but you may as well wait until then as any card you buy now will likely be depreciated or cheaper by then. Very few applications make use of double precision. I have Quadro K5000s and Titan Blacks, and the Titans way out-perform the Quadros in every way (using Houdini, Maya, Max), both in GL performance and esp OpenCL (~x10 compute speed).

    The thing is, with so many people coming forward with similar questions and issues, and with U5 being so much more complex than U4 (there are so many ways to set everything up wrong), it's hard to give advice... your slow may be someone else's version of extremely fast.

    Perhaps someone should produce an official benchmarking scene.
     
    Flurgle and cariaga like this.
  3. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    I should say, if you haven't already, use SSDs. Disk access is a huge bottleneck - I have 128GB RAM and Unity still writes a cache to disk (for persistence I expect). I shudder to think of people using HDDs anymore.
     
  4. essimoon2

    essimoon2

    Joined:
    Nov 13, 2013
    Posts:
    195
    Does a SSD really improve the bake times a lot? Right now we're getting a new pc to do rendering and lightmapping for us, so I'm really curious :)
     
  5. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    If it's writing huge files - and some people are seeing 100+MB lighting asset files (mind I assume they're talking about project local, not shared GI cache), then yeah it probably will. It won't help the processing of them obviously, but if you're hearing a lot of mechanical disk activity then that's where they'll help obviously. I still use HDDs for storage, but given the price of SSDs now it's well worth having an SSD system and scratch disks (Unity GI cache, photoshop scratch, etc) at a minimum. The speed boost just from system level disk access alone is worth it, you won't look back.
     
  6. Liquidwad

    Liquidwad

    Joined:
    Feb 8, 2015
    Posts:
    5
    Thank you very much for all this great info Pix10. I just got an 8-core i7, overclocked it to 4.4Ghz and replaced my HDD with an SSD for the system. What a difference it made! I will post some comparisons in the near future. Funny enough, as soon as I got a Sata SSD I realized that there are now faster hard drive options (M.2 Ultra and PCIE drives). Maybe a greater boost can be achieved with those? I agree, someone should make an official Unity 5 Benchmark scene.
     
    sfjohansson likes this.
  7. zugsoft

    zugsoft

    Joined:
    Apr 23, 2014
    Posts:
    453
    I don't understand why is so long on my computer to bake shadow with Unity5.
    Before I just need some seconds, now it's 2hours!!!

    I have 24Threads Xeon(bi cpu), SSD, and 2 GTX980, I can't believe is so long.

    I don't want all GI feature, just the Shadow, it's possible?
     
  8. SpiriTx

    SpiriTx

    Graphics QA Unity Technologies

    Joined:
    Apr 12, 2012
    Posts:
    252
    Yep, good CPU and SSD speed up the process quite a lot. Also you might require quite some RAM if you have big scenes.

    If it's spending most time in Light transport stage - your Realtime / Indirect resolution is too high.
    For big scenes it's ok to have it in range of 0.001 - 0.2
     
    Weendie-Games likes this.
  9. sfjohansson

    sfjohansson

    Joined:
    Mar 12, 2013
    Posts:
    368
    Maybe we should put together a sample scene as Liquidwad suggested, test render and post results to get some kind of benchmarks unless unity can provide us with some more info, I just upgraded my i7 920 to a xenon and got much improved times and I can see the 12 threads are very busy when baking so they are obviously doing some good. But what about a setup with dual cpu etc.. there are a lot of factors at play.
     
  10. msklywenn

    msklywenn

    Joined:
    Nov 28, 2014
    Posts:
    67
    Is this documented anywhere ? We lost a lot of time trying to find good values that just don't make the machine that was baking crash because our scene was too big and some meshes had scales of 0.01 (maya export related...) It would be nice to have all that documented and explained in depth at least in a blog post. Right now it's still baking and we've seen no results yet. We've been wondering for more than 24hours what the output will look like ! :)

    We might need to tweak down even more the resolution I guess. Our scene is in the order of 10K units wide and the first setting that we used that doesn't make the machine crash is with a resolution of 0.02 texels per unit.
     
  11. SpiriTx

    SpiriTx

    Graphics QA Unity Technologies

    Joined:
    Apr 12, 2012
    Posts:
    252
    That's problematic to document correctly as it does depend on case by case basis. What's the size of scene, where the player camera be located, which geometry is more important etc

    For something that huge I'd recommend trying out minimum value of realtime resolution - 0.0001.

    Furthermore, you could use VeryLowResolution lightmapping parameters and just go from there.