Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question I'm shopping for a PC upgrade; are these specs optimal for Unity, or are they excessive?

Discussion in 'Editor & General Support' started by JesseSTG, Apr 27, 2021.

  1. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    I'm on the verge of a minor work-related financial windfall, and I'd like to upgrade my dev machine accordingly. I'd like to set something up that will make iteration as fast as possible, but I don't want to spend money on things that won't actually be useful.

    This is the build proposed by a family member. For the purpose of this thread, the most important parts of it include the RAM, CPU, GPU, and SSD storage.

    Here is some information about my use case and circumstances:
    • I'm developer, and therefore beholden to domain reloads and script compilation.
    • I use Windows 10.
    • I primarily use Rider as my IDE, but I occasionally dip into Visual Studio for some specific tools I need.
    • I intend to keep my project's system requirements as low as possible; this beef is entirely for the benefit of development.
    • I do play PC games, of course, but I actually play most of my games on consoles. So I'm not optimizing this machine for gaming.
    • I am based in the United States (in case shipping and taxes are important factors).
    And here is my understanding of its impact on system resources:
    • RAM access will always be faster than disk access
    • Since OSes cache recently-loaded files in RAM, more RAM means less disk access (especially if I'm doing more reads than writes).
    • Unity has a mix of single-thread and parallel processes. Domain reloads tend to be single-threaded, but script compilation (including player builds) tend to be parallel.
    What do you think? Can this setup bring out the best in Unity?
     
  2. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    The Threadripper 2970WX is based on Zen+. It isn't a bad CPU by any means, but it will have inferior single thread performance than any current gen or even last gen mainline processor.
    Since a lot of Unity still revolves around the main thread, I'd say the answer is no.
    More RAM means less disk access in the case of file cache only in the case where your OS otherwise would run out of free memory to use as the file cache, and only when the file is being read a second time. The first time a file is read, it is always from disk.

    For that amount of money, I'd buy a Ryzen 5950X. I'd also save about $250 getting a used GTX 980 instead of the 1050 TI. The 980 is a faster card, same amount of VRAM, and available on Ebay for under $200. Upgrade when current gen cards become readily available. I'd also get a bigger PSU, so you don't need to replace that if/when you get a better video card.
     
    Ryiah likes this.
  3. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    Thank you for the reply.

    What about the choice of RAM and disk? Any opinions there?
     
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    I highly recommend the following changes. Like @Joe-Censored mentioned the 2970WX is based off of an older architecture. Worse yet it uses a process node from Global Foundries that was never designed for performance which means it's at best tied with the 5950X and at worst around 15% slower.

    Higher memory capacity is not even an advantage thanks to the 5000 series supporting 128GB. Having more PCIe lanes would be an advantage if you needed 64 lanes but if you don't have sufficient devices to take advantage of all of them the 5000 series is superior thanks to having faster PCIe 4.0 lanes.

    Basically the 2970WX only makes sense now in very limited situations and yours doesn't match any of them.

    CPU: AMD Ryzen 9 5950X 3.4 GHz 16-Core Processor ($1199.00 @ Amazon)
    CPU Cooler: Noctua NH-D15S 82.52 CFM CPU Cooler ($89.95 @ Amazon)
    Motherboard: Gigabyte B550 AORUS MASTER ATX AM4 Motherboard ($252.99 @ Amazon)
    Memory: G.Skill Trident Z Neo 64 GB (2 x 32 GB) DDR4-3600 CL16 Memory ($439.99 @ Newegg)
    Total: $1981.93

    Concerning memory that's up to you. I recommend 64GB only because I have yet to see a need for more than 32GB for Unity but if you use programs other than Unity then you would know better than I would concerning your needs. Regardless of which size you choose you want 3600. It's the ideal speed for the 5000 series.

    There is a warning when you configure the above components but that's because it may require an updated BIOS for the motherboard. The B550 AORUS MASTER supports BIOS flashback so you won't need the CPU to update it.
     
    Last edited: Apr 27, 2021
    JesseSTG and Joe-Censored like this.
  5. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236

    Okay, no ThreadRipper for me then.

    What constitutes a "device" exactly?

    99.9% of the time I use Rider at the same time I use Unity, so there's that. Ultimately my rationale for more RAM is to reduce disk access for frequently-read files (like source code...I think).
     
  6. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    In this context a "device" would be any component attached to the PCIe lanes or inserted in a PCIe slot. Typically that would be NVME SSD's and graphics cards.
    Source code are just text files, and in the grand scheme of things use a rather trivial amount of both RAM and disk space. A few textures in your project probably use more than all the project's source code combined.
     
  7. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    Let's see, then. How many PCIe slots will I need...
    • One for a GPU (including media ports like HDMI)
    • One for the networking hardware
    • One or two for disk storage
    • One for audio, I think (including a microphone for Zoom)
    • One or two for a bunch of USB ports, I think
    Is this an accurate accounting?

    Maybe so, but that's just one example. Everything in my Library folder is fair game for minimizing disk access, right? Right now my Library folder is 8.2GB, and a debug build for a certain platform is about 3.2GB (including all debugging data and IL2CPP content).

    And that's before I start doing things outside of Unity or Rider.
     
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I have a AM4 setup with a Asus Crosshair VIII Hero and 5950x. I have one gen3 nvme as C drive. One gen4 nvme were my unity projects are. One nvidia 3090 running 16x

    The lanes are enough for that config. btw, i would go with 3800 cl14

    edit:

    One of the two disks are SATA over m.2 not nvme.
    I would go with Samsung 980 PRO 2x1tb

    I would get a Titan certified PSU. Like a Seasonic one. Never cheap out on the PSU
     
    Last edited: Apr 27, 2021
  9. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    What led you to split your storage that way?

    What's the difference?
     
  10. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    on c I have windows and programs.
    on disk 2 I only have unity projects.


    3800 cl14 are the sweet spot for Zen 3
     
    Last edited: Apr 27, 2021
  11. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    Sure, but why? Is one of your drives better for performance, or is it just personal preference?

    How so?
     
  12. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    the gen4 is much better than gen3, plus its dedicated to only unity projects.

    What do you mean how so? 1900 mhz is the sweet spot for zen 3 infinity fabric.
     
  13. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Typically your networking, audio, and USB controllers will be built into the motherboard, unless you have specific needs that require an add on card. So they may use PCIe lanes, but won't use slots.
    You'd only get a benefit from file cache if Unity reads the same files from the library folder multiple times. I don't know exactly how Unity accesses the library folder data, but I have doubts they repeatedly read from the same files over and over. I guess you'd see the benefit if you frequently closed Unity entirely, then reopened it.
     
  14. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    Ah, I see. I'm gonna guess that Unity projects involve lots and lots of disk operations?

    I'm saying I don't know what that means because I've never built a machine before and don't really know what I'm doing.
     
  15. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Actually a big difference, here I open a large scene and after build game on gen3 nvme, also 3950x


    Here I do the same with gen4 and 5950x






    The optimum frequency for the infinity fabric is 1900mhz, which means 3800 mhz memory . Timings is also important with Zen and thats why cl14 gives that extra performance nudge.
     
  16. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    I think you're pointing the OP in the wrong direction. From this conversation, I don't think the OP is here for overclocking advice, or has much experience in that area. (my guess)

    The official spec for Zen 3 desktop CPU's is 3200MHz memory. I know people routinely go with 3600MHz to 3800MHz, with any issues being rare, but for someone without much computer building experience I think it is not good advice to suggest going above official spec.
     
  17. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    This guess is correct. I may try it if I can do so quickly, easily, and without repercussions but I'm not factoring overclocking into my purchasing decisions.

    What are these issues and how are they resolved?
     
  18. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    infinity fabric below 1800 (3600mhz) will see perfomance drop. Not so big difference between 1800 and 1900 though. I have yet to hear about a 5950x that cant go 3600

    edit: 3200 cl14 will see about the same perfoamnce as 3600 cl16. Just make sure you run infinity fabric 1:1 to ram otherwise you will introduce latency
     
    Joe-Censored likes this.
  19. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    I wouldn't call operating the hardware at the officially advertised specification a "performance drop".
     
  20. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Well run a bench and see for yourself, you will se a drop between 3200 and 3600. Not so large drop when going from 3800 to 3600
     
    Joe-Censored likes this.
  21. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    So, as @MDADigital stated, I haven't heard of anyone running memory at 3600MHz on Ryzen 5000 having issues either. I have to ask though why AMD didn't just make that the official spec then.

    Memory clock related issues often manifest in a few ways. The computer won't post at all at that setting, or you encounter somewhat random errors, are probably the 2 most common.

    The won't post at all issue may resolve itself with the BIOS automatically clearing CMOS for you back to factory defaults, or you may need to reset the CMOS yourself. Back in the day you had to either move a jumper on the motherboard to clear it, or remove the battery from the motherboard and let it sit unplugged for 10 or so minutes. But some motherboards today have overclocker friendly features like a dedicated button for clearing CMOS.

    The random errors are more nefarious. Where the computer may work completely fine, even for long periods, but you may encounter random data corruption or blue screen errors. The errors might occur in the same application each time, or might be in any application, but applications which hit memory more often are more likely to run into a problem. Whenever I set memory speeds, I boot into memtest+ and let it beat on the memory for a few hours to look for this kind of issue.

    I wasn't arguing that performance at 3200 isn't lower. It certainly is. My comment was just that running at spec isn't a "performance drop" anymore than buying a new Corvette and running it stock is a "performance drop" because you could have installed an aftermarket supercharger to increase performance. Just a semantic argument about the meaning of the words :p
     
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    In this case anything that is installed into either a PCIe slot or an M.2 slot. Graphics cards typically consume 16 lanes but there are a few models out there made to only consume 8 lanes. Other than that most cards consume a single lane but it depends on the purpose of the card. I have seen cards that add additional I/O ports consume 4 or 8 lanes.

    With M.2 slots it depends on the slot. Most CPUs provide at least one M.2 slot that is independent of the PCIe lanes with each additional slot after the ones built into the CPU consuming 4 lanes.

    Same. Once I noticed I was consistently hitting 80% memory usage with applications I decided to upgrade from 32GB to 64GB because I like having space set aside for Windows to cache files. That said there is a limit to how much Windows caches. Highest I have seen is around 15GB.

    There is a consistent performance difference between 3200 and 3600. While it is a minor difference in benchmarks and games for tasks that take a long time to complete (eg lightmapping) it can be a noticeable difference.

    Benchmarks in the link below have been performed against a 5900X (12-core/24-thread).

    https://www.techspot.com/review/1891-ryzen-memory-performance-scaling/

    For 128GB kits the cost difference is $135. Against a system costing nearly $3,000 the difference is 4.5%.

    Memory: G.Skill Trident Z Neo 128 GB (4 x 32 GB) DDR4-3200 CL16 Memory ($739.99 @ Amazon)
    Memory: G.Skill Trident Z Neo 128 GB (4 x 32 GB) DDR4-3600 CL16 Memory ($874.99 @ Newegg)

    For 64GB kits the cost difference is $60. Against a system costing nearly $3,000 the difference is 2%.

    Memory: G.Skill Trident Z Neo 64 GB (2 x 32 GB) DDR4-3200 CL16 Memory ($379.99 @ Amazon)
    Memory: G.Skill Trident Z Neo 64 GB (2 x 32 GB) DDR4-3600 CL16 Memory ($439.99 @ Newegg)
     
    Last edited: Apr 28, 2021
    Joe-Censored likes this.
  23. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198

    Those are cl16 though, if you want the best you should go for CL14,probably will not see a large difference in actual perfoamnce. But hey, its nice to know you have the best memories around :p If you go with 3200 I would recommend cl14 though to close the gap to 3600 CL16
     
  24. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    I'd be happy to recommend it if you can find me a benchmark where it consistently wins and by a very significant margin. Currently the cost difference between CL14 and CL16 is around 50% which is nowhere near worth it in my opinion.

    I fully back wanting to optimize your system but there is a point where the difference becomes stupid for the price.

    That said in this case it's completely irrelevant how much it costs as you can't buy CL14 32GB modules.
     
  25. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    The last procent always cost a premium price.

    Edit: G. SKILL has 16 gb modules 3800 cl14
     
  26. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    Which is why it's almost always not worth the investment. Just because you have the money to get every last bit of performance doesn't mean it's smart to do so.

    Once again though that's 16GB not 32GB.
     
  27. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198

    Are those 32 dual rank?
     
  28. JesseSTG

    JesseSTG

    Joined:
    Jan 10, 2019
    Posts:
    236
    But most devices in this thread will fit on most motherboards in this thread, right?

    Really? Linux will use all memory available to cache recently-used files, but it'll quickly free up space for any application that needs it. Can I configure this on Windows?


    2% of what, exactly?
     
  29. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    M.2 devices fitting just come down to how many M.2 slots you have on the motherboard. There are different lengths for M.2 devices, but SSD's have generally standardized around just 1 length. You'd see it called out as a feature if you're looking at an M.2 device of an alternative length than the usual.
    I'm not aware of any configuration settings you can adjust here.
    $3000 * 0.02f = $60
     
  30. bigbrainz

    bigbrainz

    Joined:
    Jul 21, 2015
    Posts:
    177
    @MDADigital, you seem to know more about the build speed of these high-thread Ryzen CPUs than anyone else, I don't suppose you ever benched build times of something like a 5950x or 3900x against an equivalent chip with less cores, did you? [Note: I'm asking this question more specifically in a different thread, but I couldn't figure out how to reference you specifically from that thread, so I'm hoping you see this one here. Apologies for diluting this thread a bit with this specific question.]