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.32 Bug Reporting thread
    Solutions and more information may already be available.

When will multi-core CPU support be added?

Discussion in 'Troubleshooting: Bugs, Questions and Support' started by Sethioz, Mar 26, 2014.

  1. Sethioz

    Sethioz
    Expand Collapse

    Joined:
    Mar 10, 2014
    Messages:
    45
    Hi. simple question really, as said in title, when will BeamNG team add support for multi-core CPUs?
    I have FX8350 8-core Vishera @ 4.1ghz and im getting extreme lag when going high speed near objects or when having more than 3-4 vehicles on map at once.
    When checking CPU usage, 1 core is @ 99%, while other 7 cores are like 1 - 10%, clearly BeamNG uses only 1 core.
    Graphics card is GTX680 and usage below 20%, so clearly isn't GPU problem.

    I hope multi-core support will be added soon :)
     
  2. Jon

    Jon
    Expand Collapse

    Joined:
    Aug 9, 2012
    Messages:
    116
    We already got multi core support...
    1 car=1 core
     
  3. pulley999

    pulley999
    Expand Collapse

    Joined:
    Jan 21, 2013
    Messages:
    825
    Yeah, there's something wrong here. It should be two cores for game logic +1 core per vehicle. I don't think 20% usage on the 680 is quite normal either, the game reaches 100% usage on my GTX 760 and 80% load on each of my physical cores in my i7 2600k when running 4 vehicles on Dry Rock Island.
     
  4. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,960
    Each vehicle gets its own thread plus there appear to be 2 more for the rest of BeamNG. There is something very wrong if your PC is not spreading the threads out across cores, you don't have any performance optimising software running and havent set your PC power plan to some sort of eco mode have you?
     
  5. Sethioz

    Sethioz
    Expand Collapse

    Joined:
    Mar 10, 2014
    Messages:
    45
    Works perfectly fine in other games, well most of them. ArmA 2 and 3 give similar issues. Crysis 3 on ultra @ 30fps (turning AA and multisampling lower will get me 60fps easy). Far Cry 3 runs like a dream too. Battlefield 4 on ultra also 60fps (i use vsync, so 60fps is max for me).

    Only tool i use is AIDA64 to monitor CPU, GPU ..etc usage, but it changes nothing if i turn it off, there's still lag. If it's really 1 core/thread per vehicle, it should be all cores used, if you have 1 vehicle, all cores are used on that vehicle, adding another vehicle would split the load .. and then split again ..etc

    According to AIDA64, all 8 cores are used in other games (except arma 2 and 3).
     
  6. logoster

    logoster
    Expand Collapse

    Joined:
    Sep 5, 2012
    Messages:
    2,083

    what your suggesting would actually cause MORE lag, not less btw
     
  7. daveywaveyHD

    daveywaveyHD
    Expand Collapse

    Joined:
    Aug 16, 2012
    Messages:
    327
    Keep in mind, AMD 8-Core isn't a true 8-core like it says, i should think it gets treated as if it only has 4 cores (Because it kinda does only have 8 cores... kinda) so 4 vehicles is reaching the limit. I have the 8150 (see specs below) and witnessed the same problems; a lot of sites say the the 8-core isn't really an 8 core, merely a mashup between hyperthreaded and a 8-core kinda thing. It makes sense, i just don't know enough about it to inform you correctly.
     
  8. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,960
    No it shouldnt.... 1 thread can only be worked on by 1 core at a time so if you have 1 vehicle only 1 core is going to be used on that vehicle not 8. Breaking down 1 vehicle into 8 threads, theoretically possible but will be difficult to manage, OpenCL support is planned for the future and is likely the only major improvement we will see on the simulation architecture.

    On both my machines I can duplicate BeamNG spreading the load across multiple cores as more vehicles are added without issue, even onto hyperthreaded "cores".

    - - - Updated - - -

    Its pretty damn close, there is already another thread covering the technical side of it. For BeamNG's purposes an AMD 4 module chip is pretty much an 8 core, it is architecturally very different from hyperthreading in that it does contain 2 seperate instruction pipelines, sets of registers and ALU's but they do share a few pieces of hardware, siamese twin cores perhaps? They can be programmed for and treated as 2 unrelated cores and do not have any bottlenecks between 1 another except on their floating point hardware (although torque3d doesnt support the circumstances required for collision of data on the FPU) and cache (which has never been reported as an issue, its highly unlikely), hyperthreading however cannot be treated as 2 independant cores and a stall in one thread will impact the other thread.
     
  9. daveywaveyHD

    daveywaveyHD
    Expand Collapse

    Joined:
    Aug 16, 2012
    Messages:
    327
    It's something like that, but once i get to 4+ vehicles on the 8150 it starts to chug. The same happens on the I7 (as expected) so i am assuming that beamNG can only spread across 4 of the AMD's 8 cores due to, as you mention, sharing of a main core (1 main core split into 2? then 4 main cores?) i don't really know enough to say anything that would make sense unless i started to lie (or found the article on the tinterwebs) but it goes along the lines of something like that.
     
  10. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,960
    Take a look here:
    BeamNG-on-RAGE/page3

    Shark and I have some disagreements although they seem mostly settled. Its a weird setup they have going on, my belief is that it is closer to 2 true cores per module than it is 1.

    BeamNG does use floating point arithmetic. A normal Intel CPU has a floating point unit on each core, this unit can either do 2 128bit sums simultaneously or a single 256 bit sum. The FPU used on an AMD CPU is very similar, but on AMD the FPU is one of the pieces of shared hardware, there is 1 FPU shared by both halves, wouldnt surprise me if this was the bottleneck for 4+ vehicles on BeamNG. Each thread as seen by the OS will now only be able to do 1 128 bit sum at a time rather than 2 on intel's hardware cores (Hyperthreading will then suffer bottlenecks as an AMD module does).

    You have 2 instruction pipelines (or 2 sets of considering AMD use 4 pipelines per core). You have 2 integer cores. You have 2 banks of registers and 2 L1 caches, between all of these you do essentially have 2 hardware cores. But they share L2 cache, the fetch and decode stages of the pipelines are shared. FPU is shared. A few special purpose registers are also shared.

    Its tricky to fully classify it, you can see in the thread linked above that the shark and I didn't really agree entirely on whether its 2 true cores or 1. I do think siamese/conjoined twins is perhaps the best example for what an AMD module is like.
     
  11. Sethioz

    Sethioz
    Expand Collapse

    Joined:
    Mar 10, 2014
    Messages:
    45
    FX8250 Vishera is a true 8-core CPU, running it @ 4.1ghz will give total of 32.8ghz. As far as i know, that's what the "Vishera" edition fixed, i heard those issues a lot earlier, that AMD 8-core does not work properly, but Vishera edition was released to fix those issues. As said, it works perfectly in others.

    I'm not a game developer and i don't know what can be done to optimize the game/s, but if BeamNG supports multi-core, then i think it needs some SERIOUS optimization done, because it lags way too much.
    I know Next Car Game is not using same physics as BeamNG (as far as i know, NCG does not use so detailed calculations for damage), but they have 24 cars at once and NO lag at all, 60fps stable and in Next Car Game damage is very severe and realistic too, cars can be pancaked just like in BeamNG. crashing at around same speed will result in very, very similar damage. They've done it somehow .. im sure it can be done in BeamNG too.
     
  12. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,960
    No it doesn't. 8 cores means you can do 8 things at once at 4.1 GHz each. It doesn't total to 32.8 Ghz.
     
  13. logoster

    logoster
    Expand Collapse

    Joined:
    Sep 5, 2012
    Messages:
    2,083

    first of all, fixed a typo in your message, its an 8350, not 8250

    second of all, next car game can do that, because it simulates 5 points of the car at say, 15 points per second (not exact number's, but somewhere around there) while beamng simulates 300-500 points of the vehicle 2000 times per second, equalling a LOT more cpu strain, however, your cpu should still not have too much of a problem, so something must be wrong on your side somehow


    here, found some quotes from gabester that explain it a bit better:



    and


    hope that cleared up why beamng requires so much power, and why ncg is able to simulate 24 cars at 60 fps so easily
     
    #13 logoster, Mar 26, 2014
    Last edited: Mar 26, 2014
  14. pulley999

    pulley999
    Expand Collapse

    Joined:
    Jan 21, 2013
    Messages:
    825
    The problem is definitely on your end somehow. The game should be using all of the cores it can. And from my understanding, vehicles are simulated on one core only because if they were spread out across multiple cores there could be physics desyncing issues within the vehicle.
     
    #14 pulley999, Mar 26, 2014
    Last edited: Mar 26, 2014
  15. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,960
    There was a phenom 8250 and there is an FX8350 and FX8150, no FX 8250, typo I presume
     
  16. logoster

    logoster
    Expand Collapse

    Joined:
    Sep 5, 2012
    Messages:
    2,083

    yeah, i figured that after reading the op, which does say 8350, already fixed my post
     
  17. Sethioz

    Sethioz
    Expand Collapse

    Joined:
    Mar 10, 2014
    Messages:
    45
    Yes, but 8x4.1=32.8, this is WHY games must be optimized for multi-core CPUs, meaning that game splits the load between cores and takes advantage of total of 32.8ghz. I know that multi-core is not one CPU, but it is equal to 8 single cores @ 4.1ghz. Just like using 8 computers with single core 4.1ghz, you would have to split the load between those computers and use them as a small cluster.
    That's my whole point, if game is able to split the load between CPUs perfectly, it is called well optimized game.


    >> yes it was typo, i have FX8350.

    >> I know that Next Car Game uses different method, i mentioned that already. I'm not an idiot, i know that BeamNG is as close to real as it comes in the games nowdays, but what i'm saying ... optimize it :)
    For example BeamNG could have few modes:
    Realistic: as it is now, simulating damage as real as possible, also meaning it needs a lot of CPU power.
    Normal: simulates damage less, using less CPU, but keeping visual damage as real as possible.
    Visual: as less damage simulation as possible, keeping CPU usage very low, allowing demo derbies with like 20 cars at high fps, while keeping visual damage at same level as Next Car Game.

    This would be awesome, for example people who like to do crash testing with 1-2 vehicles in slow motion, can use the realistic damage mode to get the most out of the awesome BeamNG, while people who want to see ultimate carnage in demo derbies, can use the Visual mode, where damage looks quite real and getting high fps with 20-30 vehicles.


    Also at end, i'd like to say that this derby arenas map lags to hell for me, don't know why, even with 1 vehicle, i experience lot of lag on that map.
     
  18. logoster

    logoster
    Expand Collapse

    Joined:
    Sep 5, 2012
    Messages:
    2,083

    as stated before, you're only getting 4.1GHZ, PERIOD, computer's don't work that way, no matter how well optimized a game is, you will never get 32.8 ghz, EVER. beamng does do multi-core correctly, if it was to do it your way, you would get even MORE lag, like, a LOT more(and even if it didn't, because of the way cpu's currently work, there would be many issues with physics, because the vehicle physics would not sync properly) i. as for demo derby map, i don't know where the lag comes from on that, i've never experienced it myself, and i'm on an intel hd 2500 for goodness sakes. (i'm telling you, there is something wrong on your end if it's only using 1 core, as your cpu say, compared to mine is a LOT more powerfull, yet it uses my cores fine (physics wise, it never goes under 2000 points per second(unless i get ridiculous and spawn like, 13 or more vehicles), fps i'm limited by my stupid igpu))

    also, the different mode thing has been suggested MANY times, it probably won't ever happen, because it would be more work than it's worth in the end(lots of code rewriting, causing lots of bugs, and breaking other stuff, meaning even more code rewriting.)
     
    #18 logoster, Mar 27, 2014
    Last edited: Mar 27, 2014
  19. TheAdmiester

    TheAdmiester
    Expand Collapse

    Joined:
    Aug 7, 2012
    Messages:
    577
    Having modes like that would basically need a complete rewrite of the game's physics engine. It's not possible to just "simplify" the damage simulations without breaking a lot of stuff.
     
  20. Sethioz

    Sethioz
    Expand Collapse

    Joined:
    Mar 10, 2014
    Messages:
    45
    If that's true, why are we using multi core CPUs at all then? why not use overclocked single core?? ..lol
    Basically what you saying, is that 8-core @ 4.1ghz is equal to single core @ 4.1ghz ... which is completely and utterly false.
    My other PC has Quad Core @ 3.6ghz and difference in performance is HUGE, i'd say 8-core is at least 4 times faster (i don't mean benchmarking, i mean doing real stuff, like rendering a video 4 times faster or getting higher FPS in games).

    Yes i know it would be lot of work to make different modes, but it would be worth it.
    Look how many people want to see demolition derbies with 20+ cars. From all the BeamNG videos i've uploaded, demo derbies always get more views.
     
  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