Search Unity

Building a new dev machine (Early-Mid 2020)

Discussion in 'General Discussion' started by sbsmith, Jan 16, 2020 at 5:09 AM.

  1. sbsmith

    sbsmith

    Joined:
    Feb 7, 2013
    Posts:
    66
    I built my last dev machine in 2013 and it is long overdue for total replacement. I have a decent idea of what I want, but maybe some people in the community can let me know if I'm missing something. I'm asking here instead of a PC build forum because some Unity devs might be able to talk about the things that directly impact gamedev tasks.

    The primary purpose of the machine is dev but I will also use it for playing games.

    Main dev tasks:
    - compiling
    - light baking (Still using the CPU baker because our scenes use features not supported by GPU bake)
    - building asset bundles
    - rebuilding the library
    - console development
    - long running automation tasks (processing multiple scenes over a period of hours)

    Secondary dev tasks:
    - Video editing/rendering
    - Blender
    - Photoshop
    - Audio recording and editing

    When a long-running task is processing in one application, I want to be able to switch to another application without too much slowdown. I sometimes run two instances of Unity at once because while I wait for my console workspace to process a build, I work on other tasks in the PC workspace.

    During the development of A Fold Apart, I found myself working against tight deadlines and anything related to batch processing has been stressful. Sometimes something will happen with a bad merge, a vendor-required engine upgrade, or rendering a new version of a video for a partner. Iteration time when in a time crunch is super important.

    I consider this machine an investment since I spend so much of my time working.

    Processor:
    Threadripper seems like the way to go and the 3960x feels like the sweet spot for a higher base clock speed and multiple cores.

    RAM:
    The more the better, probably, but I have a few questions.
    - Will I see much performance gain between 32GB and 64GB?
    - Will I see a performance difference with overclocked RAM (above the base DDR4 3200)?
    - Will overclocked RAM affect stability enough that I should avoid it?
    - Is there a difference between filling 4 or 8 of the TRX40 mobo RAM slots?
    - I definitely don't need ECC, right?
    - UPDATE: @Ryiah added that 3733MHz RAM is the sweet spot for the infinity fabric of the new Ryzen chips. This is backed up in this Forbes article, where AMD apparently said 3600MHz is best price/performance and 3733MHz is the absolute best performance.

    Storage:
    I plan to use at least 2 of the M.2 slots on the motherboard. One for OS and applications, and one for projects. Depending on price, I would also consider using another one for games, or possibly for different projects that would be worked on at the same time.
    - How important is the speed of the OS/Applications drive? Is it just as important as the speed of the projects drive? Should I use Samsung Pro for both, or should I use a cheaper Evo for OS?
    - For a games drive, is it worth using an M.2 slot, or are the less expensive SATA6 drives fine (obvs SATA6 is fine, but I'm asking about it as a value proposition)?
    - Does M.2 RAID make any practical difference for build times or asset processing?
    - UPDATE: Apparently ADATA XPG SX8200 Pro are faster and cheaper than Samsung Evo Plus and Pro.
    - UPDATE: @Joe-Censored added that ADATA might be the fastest, but the type of memory it uses may not be as durable as that of Samsung.

    Motherboard:
    I am currently considering the Gigabyte Aorus Master because I don't need the 10GB LAN in the Extreme and apparently the cooling and power management are quite good. The board supports RAM overclocking, but as I said above, I don't know what impact this will have on performance and stability.

    Video Card:
    I'm considering just sticking with my current 1060 until the next generation of nvidia GPUs hit the market. I am interested in VR dev and it is my understanding the nvidia GPUs are still better for applications like Blender.

    Cooling:
    I generally just use the stock fans with the processor and I don't overclock the CPU. It is my understanding that I should look at liquid cooling or one of the large 3rd party heat pipe coolers recommended by AMD (and make sure it is specifically built for this generation of Threadripper). The trouble with the cooling blocks seems to be RAM clearance because the sticks are so close to the CPU.

    Sound card:
    I'm considering getting a sound card just because I can hear the CPU through my speakers in my current motherboard audio. I might hold off on this until I test the sound through the new motherboard.

    Power supply:
    I will probably have a couple of larger storage drives, and would like to keep my options open for a second video card in the future. Running some initial numbers looked like a 850 would be sufficient. I have used PSUs by Enermax and Corsair for the last couple of builds. I've heard good things about the build quality of EVGA PSUs recently. Is it still the case that PSU have a sweet spot for efficiency between 20% to 80% of listed power? If so, should I be getting 1000+ watts?

    If anyone has advice or cautionary tales, I'd love to hear them.

    Thanks in advance!
     
    Last edited: Jan 16, 2020 at 11:34 PM
  2. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    2,576
    My main dev workstation is currently an AMD 3900X, and I have been really happy with that overall. I also considered using a Threadripper, but did not see enough benefit for my use case.

    I use three NVMe drives, with two in the motherboard and the other in a PCI-E card. For specific NVMe drives, the Samsung 970 EVO Plus is an excellent value to consider. The "EVO Plus" is slightly better than the "EVO" model. The main benefit at this point of the "Pro" model is the theoretical extended life expectancy.

    I use 32GB in every workstation. I don't think I would benefit from 64GB RAM very often in workstation workloads. The only time I use more than 32GB of RAM is in a server.

    For graphics, I currently run the RTX 2080 ti. It is overpriced, but runs really well. If you are planning to do VR dev, a 1060 card is probably not going to be ideal for you.

    For a power supply, get a high efficiency 1000W. A 850W would probably be fine, but you might push it to the limit with a Threadripper and a new video card under heavy loads.
     
    Last edited: Jan 16, 2020 at 6:40 AM
    sbsmith likes this.
  3. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    5,743
    sidenote: test Bakery (plugin) for doing baking stuff, apparently it can also benefit from RTX if you upgrade gpu later.
     
    sbsmith likes this.
  4. sbsmith

    sbsmith

    Joined:
    Feb 7, 2013
    Posts:
    66
    I'm going to post feedback I'm getting from other sources here, so people can find it. This was from a friend on Slack.

     
  5. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    7,201
    On overclocking RAM, with any kind of overclocking your results may differ on a part by part basis. Even 2 seemingly identical components can show different results when overclocked. One may be perfectly stable, another may result in random failures. One may be able to overclock to a higher frequency than another. Don't plan around the idea that an overclock is guaranteed to work, because it is only guaranteed to run at the actual spec.

    On the ADATA SSD, it might be the best one depending on what you want out of it. the ADATA uses TLC flash, while the competing Samsung use MLC. TLC generally wears out faster than MLC and usually has slower write performance, with the advantage of higher capacity. It depends on really how much you're actually writing to the drive whether the endurance of the drive actually matters though.

    ECC is generally a nice to have feature, but not needed unless you want to minimize memory related downtime or cannot tolerate the rare unexplained error (cosmic ray flipped a bit!).
     
    sbsmith and Ryiah like this.
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    15,007
    DDR4's base speed is not 3200. DDR4's base speed is 2400. Anything above 2400 is overclocked. Factory overclocks are perfectly fine as long as the processor and motherboard have it in their support lists. Anything outside of the support lists hasn't been tested by the company and may not work but in most cases it should if it isn't too crazy.

    For Ryzen 3000 (and likely Threadripper 3000 too) the memory sweet spot is 3733 because the Infinity Fabric will run at a 1:1 ratio up to and including 3733. This is one of the tactics it employs to keep latency low. Once you step beyond 3733 the ratio changes and latency goes up.
     
    Last edited: Jan 16, 2020 at 11:14 PM
    sbsmith and Joe-Censored like this.
  7. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    7,201
    Yeah, that's starting to get into what an overclock even means though. There is lots of memory kits advertised as 3200, What that means is you enable its XMP profile in the BIOS. But is that an overclock when you're running the memory at the speed it is advertised and intended? I consider an overclock when you try to push 3200 memory even higher, but I can understand why someone else would consider just enabling its intended XMP profile to be overclocking. Not sure
     
    sbsmith likes this.
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    15,007
    Yes. Personal opinions aside it's an overclock. It's just that the overclock occurred at the factory rather than by hand.
     
    Joe-Censored likes this.
  9. sbsmith

    sbsmith

    Joined:
    Feb 7, 2013
    Posts:
    66
    That makes sense. The motherboard spec didn't list 3200 and below as being OC so maybe that's the difference between OC and XMP. I was curious about the higher clock speeds too because I read somewhere that AMD was providing 3600 memory kits for Threadripper demonstration.
     
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    15,007
    XMP is an overclocking feature. Intel created the standard with the sole purpose of making it trivial to install a factory overclocked kit. Turning on XMP literally just takes a series of numbers that have been precalculated by the manufacturer and enters them into the overclocking settings of the board.

    https://www.intel.com/content/www/us/en/gaming/extreme-memory-profile-xmp.html

    That said it's definitely a possibility that the standard has changed to have 3200 be a base speed and the public facing information hasn't been updated to say anything about it. Just going to add this because my information is the same info anyone can access. I don't have access to the standard itself and the news doesn't tend to comment on a change.
     
    Last edited: Jan 16, 2020 at 11:35 PM
    sbsmith likes this.
  11. sbsmith

    sbsmith

    Joined:
    Feb 7, 2013
    Posts:
    66
    I think my question about 4x16 vs 8x8 is more of a trivial interest when I look at prices. 8x8 is almost double. Similar to 3600MHz vs 3733MHz where the latter is almost double the price.
     
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    15,007
    My recommendation is almost always to buy higher density sticks than to buy a stick for every slot but then I tend to upgrade the memory capacity of my systems before they reach end of life. My own searches haven't turned up anything about a performance hit between four and eight sticks.
     
    sbsmith likes this.
  13. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    7,201
    It would be best to try to find benchmarks, but the 3960X has quad channel support, not octa channel (is that even a thing?). So you shouldn't see increased memory performance by adding new sticks once your start going above 4 sticks. Below 4 sticks you may notice decreased performance, similar to dual channel memory systems with all memory incorrectly installed in a single channel.

    I just noticed you said you want to run this on a Gigabyte Aorus Master motherboard. But that is an AM4 socket board. The 3960X Threadripper is not AM4 socket, but sTRX4. You'll need a different board, also double check the board supports quad channel memory (I'd be surprised if any don't, since it is a big reason to go Zen 2 Threadripper, but double check). The 16 core 3950X is currently the highest performing AM4 CPU available.

    https://en.wikipedia.org/wiki/Socket_sTRX4

    edit: didn't realize Gigabyte lacked so much creativity that they give multiple different products they are producing at the same time the exact same product name.
     
    Last edited: Jan 17, 2020 at 12:44 AM
    sbsmith likes this.
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    15,007
    Joe-Censored likes this.
  15. sbsmith

    sbsmith

    Joined:
    Feb 7, 2013
    Posts:
    66
    Gigabyte gives the same names to all of its boards. There is a sTRX4 version of the Master. It makes googling it a bit trickier than it needs to be.
     
    Joe-Censored likes this.
  16. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    149
    Just to clarify the discussion about NVMe SSD cards, in order to get MLC with Samsung, you have to go with the Pro. Comparing the Samsung 970 Evo 2TB that uses MLC to the ADATA XPG SX8200 Pro with TLC, it is around $600 vs under $300. I just ordered the ADATA XPG SX8200 Pro 2TB, as I didn't think that I would reach the limit in durability within 5 years, and at that point I will likely be purchasing a larger capacity NVMe.
     
    sbsmith likes this.
unityunity