Search Unity

Unity cpu usage too high on 2990wx

Discussion in 'Editor & General Support' started by jh10001, Mar 30, 2019.

  1. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    Cpu usage is about 25% to 38%, and the frame rate is low.
    If I manually modify the processor affinity only use 3-8 cores, not only reduce the CPU usage, but also increase the frame rate by about 40%, but still lower than the frame rate when I use 1800X.
    This is not only happen in my own projects. Many Unity games, such as Totally accuracy battleground and Freeman: Guerrilla Warfare has same problem.
     
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    AMD's Threadripper 2990WX is not a gaming processor. It's a workstation processor. It's intended to be used for tasks that benefit from high core counts moreso than high clock rates. Tasks like compiling, lightmap baking, video editing, and so on.

    For tasks that are dependent more on high clock rates (just about every other game development task not listed above and most games) the Threadripper 2950X or Ryzen 2700X would have been the better choice.
     
    Last edited: Apr 19, 2019
    Joe-Censored likes this.
  3. mdsitton

    mdsitton

    Joined:
    Jan 27, 2018
    Posts:
    66
    If you install the ryzen master utility there should be some settings you can enable that will boost gaming performance. I think it was called game mode with the previous generation threadripper but i don't remember if they've renamed it or not since.
     
  4. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    I know this is not a game processor, but I have overclocked this processor, the clock rate is exceeded the 1800X I used before, so I think clock rate is not main problem. I have tried a lot of games on this processor, game performance is slightly higher than 1800X in most cases.

    I have used Unreal Engine 4 before, this processor can speed up the source code compilation, and performance in game is even higher than 1800X.

    I think reducing the number of Job workers may solve this problem, but there seems no way to adjust the number of Job workers.
     
  5. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    Game mode only turns off 24 cores, although it does improve the performance of Unity games, but the 24 cores are wasted when do something like building games or Generate Lighting.

    Even if I just play game, it’s troublesome to restart the computer every time I switch the core.
     
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,160
    You haven't even said what the problem is.
     
  7. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    What settings do you use? Vulkan?dx11? Dx12? Gfx jobs enabled?
     
  8. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    There is a secondary problem with the 2990WX. Only half of the cores have direct access to the memory channels and the PCI-express devices with the other half having to go through an additional step (Infinity Fabric pathways). Windows is bad about allocating the cores which is why Ryzen Master is able to boost performance as much as it does.

    AMD's 2950X (and Ryzen CPUs) doesn't have this problem for the simple reason that it doesn't have any "hidden" cores.

    Threadripper Layout.jpg
     
    Last edited: Apr 20, 2019
  9. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    So what's the actual time in millisecs?

    This thread is largely pointless because how well unity runs on multiple cores is highly dependent on version of unity and the developers involved.

    It's all uninformed guesswork with a bunch of pointless tinkering, probably not a developer. This CPU is so much more faster than my haswell and I'm still not CPU bound in most games (to the point where it's a cap lower than monitor refresh). What gives? :p

    And most older Unity games won't be very well multi threaded, no, in fact it's only games for Unity released in the last year and going forward that probably have a recent enough version of Unity to take advantage.

    Going forward though, Unity is likely to be a clear winner in this space of ridiculous core counts. That's somethong DOTS excels with.
     
  10. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Unity is still pretty bad at it, I have been ranting about gfx jobs a long time now. 12 and 16 threads are the norm in VR now so it would be nice if we could use it to it's full potential
     
  11. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    AMD's 2990WX is well known to have performance problems due to the way the tasks are scheduled by Windows. That this problem is mostly the fault of Windows can be proven by running similar tasks on Linux. You will generally see a 20 to 25% performance increase on Linux.

    All of my posts are the result of researching the Threadripper series as a potential upgrade and comes from well known sources (Gamers Nexus, Hardware Unboxed, Level 1 Techs, etc) which have thoroughly analyzed the way these processors handle their tasks across both OSes.
     
  12. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    DX11, Graphics Jobs disabled.
     
  13. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    In theory, Ryzen Master's Dynamic Local Mode service will push game threads automatically to the CPU cores that contain direct memory access. But even if I set the CPU affinity to only use cores that contain direct memory access, performance is still low.
     

    Attached Files:

  14. jh10001

    jh10001

    Joined:
    Jun 1, 2018
    Posts:
    7
    Now using the latest version of Unity (2019.1.0f2).

    The screenshot above, Unity Editor version is 2018.3.13, the project is the official FPSSample.