1. Trouble with the game?
    Try the troubleshooter!

    Dismiss Notice
  2. Issues with the game?
    Check the Known Issues list before reporting!

    Dismiss Notice
  3. Before reporting issues or bugs, please check the up-to-date Bug Reporting Thread for the current version.
    0.35 Bug Reporting thread
    Solutions and more information may already be available.

Performance Scaling, 4+ Cars

Discussion in 'Troubleshooting: Bugs, Questions and Support' started by ClassyClassic, Feb 28, 2016.

  1. ClassyClassic

    ClassyClassic
    Expand Collapse

    Joined:
    May 15, 2014
    Messages:
    158
    Hello all,
    not sure if I'm putting this in the right section, but here it goes,

    I noticed that having a number of cars, my performance dropped away so I decided to do some bench-marking to try to get a closer analysis of what's happening.

    I will try to detail my testing procedure below, I can answer any questions about it.
    --------------------------------------------------
    Open Steam
    Open Beam.NG Drive
    Start 'Hiroshima Race Track' Map
    Drive to large parking lot
    Spawn cars in this order:
    Grand Marshal
    Burnside Special
    90s Pessima
    Moonhawk
    80s Pessima
    SUV
    Let all drive for 5 minutes (timed with phone)
    AI Settings: 10KM Draw distance, Random locations
    (I would check up on the cars during this time, and would reset one if it crashed into something)
    Close Beam.NG Drive and Steam

    I then recorded the max and minimum FPS, as long as one I felt was a pretty good average
    (Did this with Steam in-game FPS Counter)
    I then took a screenshot of the CPU/GPU usage and temperatures
    (Did this with HWInfo64)
    These graphs are not complete, but have probably the last 2 minutes of data on them
    --------------------------------------------------

    Environment:
    --------------------------------------------------
    Beam.NG Version 0.5.2.1
    @ 1920x1080
    Ambient at Start: 22.5 C
    Ambient at End: 19.3 C
    Well Cooled Corsair 350D (2 AF14s in the front)
    --------------------------------------------------

    System:
    --------------------------------------------------
    i7-3770 w/ Hyper 212 EVO
    Sapphire HD 7950 @ 995 MHz Core and 1300 MHz Memory
    8 GB Kingston Fury 1866 RAM @ 1600 MHz
    EVGA G1 750G PSU
    OS installed on Intel 520 SSD
    Beam.NG installed on Kinston V100 SSD
    --------------------------------------------------

    Results:
    --------------------------------------------------
    The results are in the pictures, but with my judgement If I have more than 4 cars, performance drops significantly. This matches up with how the GPU wasn't being used as much.

    The order of the pictures goes:
    Idle (nothing running), 1 Car, 2 Cars, 3 Cars, 4 Cars, 5 Cars, and then 6 Cars
    These cars line up with those listed in the testing procedure

    FPS Results (Low, High, Perceived Avg):
    1 Car: 53, 60, 57
    2 Cars: 48, 60, 55
    3 Cars: 44, 60, 54
    4 Cars: 42, 60, 54
    5 Cars: 16, 30, 22
    6 Cars: 13, 19, 17
    --------------------------------------------------

    I have two theories,
    1. The physics engine divides cars among the cores (4 cars = 1 car per physical core, with an additional hyperthread) and having more than that the CPU can't handle it.
    2. The same thing as above but for the AI Pathing/calculations.

    Sorry for the long, detailed post. I was wondering what all of you guys think, and maybe one of the devs can give their opinion. :) I've been part of this Alpha for a long time, and have loved to see the game develop. Thank you guys so much for making and continuing development of the game. :)

    -ClassyClassic76
     

    Attached Files:

    • Near_Idle_Control.PNG
    • 1_Car_Low53_High60_Avg57.PNG
    • 2_Car_Low48_High60_Avg55.PNG
    • 3_Car_Low44_High60_Avg_54.PNG
    • 4_Car_Low42_High60_Avg54.PNG
    • 5_Car_Low16_High30_Avg22.PNG
    • 6_Car_Low13_High19_Avg17.PNG
    #1 ClassyClassic, Feb 28, 2016
    Last edited: Feb 28, 2016
  2. BlueScreen

    BlueScreen
    Expand Collapse

    Joined:
    Apr 5, 2014
    Messages:
    624
    Doesn't prove anything new - the game does in fact use 1 CPU thread per vehicle, except when the vehicle count is greater than the number of CPU threads, in which case more than 1 vehicle might be handled by a single thread.

    Your CPU - i7-3770 - has 8 threads, thus it can run 6-7 vehicles with no severe performance impact. However, there is a performance hit with more then 4 vehicles - this is because your CPU doesn't have 8 actual cores, it has 4 physical cores and is hyperthreaded which results in 8 threads. Thus with >4 vehicles, you still have 1 vehicle per thread, but some (physical) cores will have twice the load and might not perform so well.

    If you want to measure CPU performance in game (without a potential GPU bottleneck), you can use the BAnaNa Bench tool included with the game.
     
    • Like Like x 1
  3. ClassyClassic

    ClassyClassic
    Expand Collapse

    Joined:
    May 15, 2014
    Messages:
    158
    Thank you for the response.

    I see, and I have run BananaBench in the past.

    I guess the part I was most surprised by was the drop in performance from 4 cars to 5 cars. You said "6-7 vehicles with no severe performance impact", but I consider the drop from 42-52 FPS to 16-22 FPS just by going from 4-5 quite huge, considering the jump from 3-4 was literally almost negligible.
     
    • Like Like x 1
  4. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,958
    One issue you'll start to hit is one AMD users already have. As you hit the hyperthreaded "core", you're sharing resources the game uses between cores.

    Test would be fairer using same vehicles rather than mixed, although thats a decent balance you have there. The different vehicles have differing JBeam complexities which will impact performance, hence a pigeon running far smoother than a T75 on most rigs.
     
    • Like Like x 1
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice