Test: CPU Core count and RAM scaling in ACC, AC1 and R3E

Discussion in 'General Discussion' started by spyshagg, Aug 20, 2019.

  1. spyshagg

    spyshagg Active Member

    Joined:
    Dec 7, 2015
    Ratings:
    +34 / 0 / -0
    Hello guys

    Couldn't find decent data so I did these tests myself during the holidays.

    • Max settings @ 720P (Max distances, Max shadows, Max mirrors etc) to push for the max cpu drawcalls.
    • Heavy duty multiplayer race replays were used, with 20~30 cars.
    • 1 entire lap per test. With the camera set on the pole car, looking backwards (showing all 30 cars - worse case scenario), at the race start, lasting an entire lap
    • 2 runs per test.



    Test 1

    CPU core count scaling

    [​IMG]


    [​IMG]


    [​IMG]




    Test 2

    HyperThreading ON / OFF scaling


    [​IMG]



    [​IMG]


    [​IMG]




    Test 3

    Ram speed scaling


    [​IMG]


    [​IMG]


    [​IMG]



    If you play offline against AI, none of these results should apply to your situation.
    Cheers
     
    • Like Like x 4
    • Love it! Love it! x 2
    • Informative Informative x 1
  2. Thomas Jansen

    Thomas Jansen KW Studios Developer Beta tester

    Joined:
    Apr 5, 2018
    Ratings:
    +562 / 0 / -0
    I wouldn't say none, most likely the differences will just be larger, but I'd expect the same trends with a bunch of AI :D Very interesting stuff though!
     
    • Agree Agree x 1
  3. MattStone

    MattStone Well-Known Member

    Joined:
    Mar 6, 2016
    Ratings:
    +169 / 0 / -0
    I’d love to see the results say with 30 ai
     
  4. Ablaze

    Ablaze Well-Known Member

    Joined:
    Mar 16, 2018
    Ratings:
    +120 / 0 / -0
    @spyshagg That was very interessting to read, thumbs up!
     
    • Like Like x 1
  5. Sebastien Brunier

    Sebastien Brunier Active Member Beta tester

    Joined:
    Dec 17, 2017
    Ratings:
    +38 / 0 / -0
    Such a nice work!
    You can automate the process affinities in CLI or batch. You can also give a slight priority to R3E to be sure Windows will allocate more time to your game instead of searchindexer.exe e.g. ;)

    To do so:
    - Icrease process priority:
    wmic process where name="RRRE64.exe" CALL setpriority "above normal"

    - Change process affinity
    First decide to what threads you want to assign the process adding the thread values from the following table (I select primary threads of all my second CCX cores on my 2700X)
    upload_2019-8-20_15-40-24.png

    Powershell "ForEach($PROCESS in GET-PROCESS RRRE64) { $PROCESS.ProcessorAffinity=21760}"

    And voilà :)
     
    • Love it! Love it! x 1
    Last edited: Aug 21, 2019
  6. spyshagg

    spyshagg Active Member

    Joined:
    Dec 7, 2015
    Ratings:
    +34 / 0 / -0
    Nice tips. You can see in the benchmarks how once you enable HT and windows starts rotating the game processes into these HT threads, that all games lose a lot of performance.

    Your method to define affinity would result in the same FPS I had with HT off (with my 9900K). With your Ryzen you would still need to set afinitty to one CCX even with HT off, like you said :)
     
    • Agree Agree x 1
  7. spyshagg

    spyshagg Active Member

    Joined:
    Dec 7, 2015
    Ratings:
    +34 / 0 / -0
    yeah people are asking the same for ACC, but live races with AI are erratic and prone to big differences each run. Hard to test and would involve many runs for the same test, so that results start averaging out.
     
  8. Sebastien Brunier

    Sebastien Brunier Active Member Beta tester

    Joined:
    Dec 17, 2017
    Ratings:
    +38 / 0 / -0
    I fully agree and that's what I do for few months now but I've been to lazy to share it and tbh it wasn't as exhaustive as you did. SMT/HT is basically sharing the core between two threads so while in heavy MT processes it can add roughtly 10/15% additionnal CPU power, it adds latency for single core performance so not very good in game, that's why I don't let the Windows Scheduler chose the threads for me and fix it that way.
    I also set Discord, CrewChief, SecondMonitor, Chrome to the other CCX (threads CPU1 to CPU7 ProcessorAffinity=254) leaving CPU0 for the OS.
     
    • Like Like x 1
  9. Case

    Case Well-Known Member

    Joined:
    Apr 7, 2017
    Ratings:
    +104 / 0 / -0
    Or you can use Process Lasso, which allows you to set all this permanently via UI if you're not willing to bother with command line or batch files.
     
    • Useful Useful x 1
  10. Sebastien Brunier

    Sebastien Brunier Active Member Beta tester

    Joined:
    Dec 17, 2017
    Ratings:
    +38 / 0 / -0
    That can make life easier indeed, but I like the flexibility and ganular control of a batch file, I wouldn't like everything to be "permanent" (e.g when I change Chrome priority and affinity)
     
    • Like Like x 1
  11. Case

    Case Well-Known Member

    Joined:
    Apr 7, 2017
    Ratings:
    +104 / 0 / -0
    I believe that with a paid version of Process Lasso (which I'm yet to get), you can specify applications for a special "performance mode" and apply tweaks only for this mode, so you should be able to add your games to this mode and just use the tweaks when they're running.

    But I'm not 100 % certain about this. And I absolutely understand someone just wanting to use a command line, it was more to mention there is also a more "user friendly" (if you will) option.
     
    • Like Like x 1
  12. Sebastien Brunier

    Sebastien Brunier Active Member Beta tester

    Joined:
    Dec 17, 2017
    Ratings:
    +38 / 0 / -0
    Yeah absolutely I believe it is usefull for someone who doesn't want to make his life complicated like I do :D