BANANA Benchmark Results Comparison

Discussion in 'General Discussion' started by garyjpaterson, Jun 23, 2014.

  1. aljowen

    aljowen
    Expand Collapse

    Joined:
    Oct 21, 2012
    Messages:
    1,668
    Only the physics does. All of the Lua code runs at your fps. The Lua does a lot of stuff (engines, gearboxes, esc), you shouldn't overlook it. Input handling seems to be at your fps too.

    If you had read my comment, you would have seen that I was only using that as a simple example of why dt doesn't solve all problems. It had nothing to do with the games physics code.



    I'm gonna throw a link to my website in here for reference: https://www.alwyn.tech/
    Don't get me wrong, I don't know everything, I do make plenty of mistakes; but I have some experience when it comes to games programming, not to mention a degree in it.
    --- Post updated ---
    https://www.whatgamesare.com/determinism.html

    Read the "Determinism in Programming" bit

    Using their example of Quake. If it is deterministic, you could record the players inputs, save them to a file, load that file on a computer in another continent and replay it. Exactly the same thing will happen, every time.

    To be clear, not all games need to be fully deterministic (I would argue that most don't), you can add random elements if you like for gameplay purposes. But the simulation aspect of a game should aim to be as close as it can reasonably be.

    In theory you could record the dt values too, and achieve determinism that way. But that's neither here nor there as far as the player is concerned.



    TLDR of everything that I have said:
    Of course people who play the game at 40fps are going to have a worse experience than those playing at 120fps. That's just how things are. But if the games "player assistance" code such as ESC is tied to the physical framerate, that means people who play at different frame-rates may get different or inaccurate "player assistance" that may lead to unrealistic behaviour in game. Will people be able to spot the exact differences mid gameplay? No, not at all. But it may affect their experience within the game by making driving more difficult, or more easy.
    This is not a statement to say that there is a problem. Its possible that the differences really are so small to not matter at all. But if not, then it is something that would be useful for players to be aware of, especially regarding the use of frame limiting.
     
    #1081 aljowen, Dec 4, 2019
    Last edited: Dec 4, 2019
  2. metalmuncher

    metalmuncher
    Expand Collapse

    Joined:
    Aug 6, 2012
    Messages:
    257
    Pretty sure this is wrong, some parts of the powertrain, wheels, hydros/ffb, controllers and beamstate run at the physics step - hence you have a lot of update() and updateGFX() functions.
     
  3. aljowen

    aljowen
    Expand Collapse

    Joined:
    Oct 21, 2012
    Messages:
    1,668
    If so then I stand corrected.

    However, the Hydros.lua file would suggest that some quantity of it is tied to the framerate.
    upload_2019-12-4_21-16-30.png


    I have also found this in Hydros.lua too
    upload_2019-12-4_21-19-6.png
    This looks like it could run at the simulations frame rate.


    So I think its quite likely that you are correct in that.
     
    #1083 aljowen, Dec 4, 2019
    Last edited: Dec 4, 2019
  4. bob.blunderton

    bob.blunderton
    Expand Collapse

    Joined:
    Apr 3, 2015
    Messages:
    2,431
    Also one should keep in mind, when doing physics that use the FPU, or other calculations that use said FPU, these numbers are FLOAT numbers. ALU (Arithmetic Logic Unit - the core of the processor - it's numbers by comparison are fixed. FPU or, floating point unit numbers are float / rounded numbers). With each time you run a physics calculation, the float could round it by 0.0000001 different. This could magnify over thousands of times making a just-slightly-different outcome (a bumper crinkled slightly more or less for example, but the vehicle would end up somewhat in the same shape it would have otherwise, in close to the same place). When using FPU to do math we take nothing for granted. Expecting nothing and getting something in return is always the best method.
    @aljowen I was just merely explaining how the physics engine works. I've been into game modding and (hardware) hacking stuff (ethically!) for 25 years, though I am far from a script or code expert in games. Here, most everything I know of stays with the physics engine timing. In most games (especially not those physics-centric), there could be many (and often are at-least some) exceptions to this rule that will run at the frame rate, or failing that (like day/night cycle) may tie to the system timer itself. Bethesda's Fallout 4 physics being tied to frame rate first comes to mind, oh the follies of 200fps in that game (not that this junk VGA card will do it, might as well have a Matrox Millenium II AGP board in here!!!). You'll want certain things tied to frame rate and some things not. Consoles time more things to frame rate generally than PC, too (this can help not overload the CPU draw calls routine and VGA card shaders, if you have a ton of graphics stuff going on like volumetric smoke/fire and lighting effects from it) this CAN help keep things more consistent but slowdown can still be seen by the user.
    At-least we don't have to time our code to fit in V-blank and H-blank time slots like had to be done on old consoles.
     
    • Like Like x 1
  5. jojos38

    jojos38
    Expand Collapse

    Joined:
    Oct 22, 2013
    Messages:
    788
    For those who are wondering what is running at physics step and what is running at framerate step, most of the files located in lua/vehicles are running at physics step from what I've seen
    If I'm right, updateGFX() is running at physics step and update() is running at framerate step
    --- Post updated ---
    Also Ryzen 7 3700x is insane, I spawned 71 vehicles: 70 pigeon and 1 truck
     
    • Like Like x 2
  6. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    7,075
    Yes it is and 3900x is even more insane. Putting same model of vehicles on pure grid is best way to get use for all those cores and I hope some day game can use all those cores with normal maps as well too.

    I got only 7fps with 4.8Ghz overclock, 6 cores just is not enough for that many vehicles, but in older versions of game this would of just crashed the game with 1fps at max :D
    upload_2019-12-8_3-11-22.png

    Patate_Folle might get 20fps or maybe even more? CPU market certainly is alive again, so many wonderful options these days and this game runs better than ever.

    4.8Ghz bananbench with 0.17.1.2
    upload_2019-12-8_3-13-44.png

    Also 5Ghz, but as you can see, my motherboard is not really capable as score is not increasing too much, power delivery parts in VRM are not up to it and despite increasing limits, safety features are kicking in so I'm getting 5ghz to 0.8Ghz randomly for each millisecond or so, 125W was maximum that MB Fets could supply for very short time so it is like traction control kicking in with K-series:
    upload_2019-12-8_3-14-25.png

    Oh and updateGFX, shouldn't that be graphics tied thread (running each frame), I think you have them other way around.
     
  7. jojos38

    jojos38
    Expand Collapse

    Joined:
    Oct 22, 2013
    Messages:
    788
    Also Ryzen 7 3700x is insane, I spawned 71 vehicles: 70 pigeon and 1 truck
    It's impressive, you get as much MBeams as me tho you have 6 cores but your fps are twice as low
     
  8. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    7,075
    There is curiosity for sure, you would think that Mbeams would mean similar performance as most certainly one core limits are not coming in effect here, but still more cores just can do more despite same MBeams.

    It is interesting why such happens, but in older versions I did notice hyper threading had not huge effect to how many cars I could run on normal maps, cores were much more than hyper threading.

    Not sure if that is case with this as MBeams should still be similar to running physics, but maybe some day we will find why such happens.

    However it is good to know how MBeams don't scale quite well to how many cars you can run on pure grid, more cores is really useful for running many cars as long as single core limits are not met, so there is some golden number of cores and clock speed for best possible performance in this game.

    Really great times though, with so many cores available today traffic can really be made feel good in this game.
     
  9. bob.blunderton

    bob.blunderton
    Expand Collapse

    Joined:
    Apr 3, 2015
    Messages:
    2,431
    Yes the 3700x is insane! I love it, have one here since 3 weeks after they came out. Absolutely love it. 32gb (2x16gb sticks) of 3000mhz cl-15 micron-sourced memory. Works excellent (the memory was 'on sale').
    I will entirely have to give a shot on try to spawn that many Pigeons. Give me a day or two on it, just finished updating Nevada Interstate's graphics to the new format for some free FPS.
    I had 15 vehicles + mine and about 40~45fps or so. I also just installed a EVGA 2070 Super (black) yesterday, so now I can use something other than 'low' graphics. Cost way too much, hope I'm set for 3+ years.
    For Ryzen owners, there's a strong 'hint' or rumor that there will be 'even more cores' for the Ryzen 4000 series. I'm pretty stoked about it but I am definitely getting a 4000 series chip when they come out (or failing that, a used 3950x). The new Threadripper is really something too, I want to see BeamNG run on the 32-core model and the 64-core monster coming out in January. That should REALLY be something.
    Japans entire stock of 3950x was mostly sold by the time the stores open, if not mere minutes later. They were lining up to buy them even as the equivalent price of 900$ US. The MSRP is 750$ US. Threadripper sold out in a few places within the first few hours, some others had stock the next day but I haven't checked since then. 2000 series Threadripper (2000 series has non-uniform-memory-access which can slow things down, 3000 does NOT have this short-coming) are dirt cheap as are boards, 2000 and 3000 series use a different socket but with the same pin-out. The memory interface between the processor and board/ram slots is wired differently due to IO die updates and mesh updates (and more power delivery).

    I cannot wait until one day we have been freed from what is the DX 11 draw call limitation. I think draw calls make me slow down more (hence test in pure grid map), as I got 27,000 draw calls with some 15~21 vehicles on screen. I asked about LOD's for vehicles but they brushed me off. I said who's going to see a dent from a half-mile away? I wish they wouldn't have brushed me off as ALL OTHER games do that. It NEEDS to be done - I don't think they realize how badly it holds back the game. Either that or we have to butter them up and buy them books about 'coding your game for Vulkan / DX 12 so your customer's processors don't cry'...

    @fufsgfen Nice avatar btw. Please do not forget the Ryzen 36MB of cache memory on 3700x/3800x, and 72MB of cache on 3900x/3950x chips. This can make a big difference with the scheduler getting things ready in time. I am not sure how victim cache is set up or if it is that way. I have to read into it. It DOES help a lot though.
     
  10. jojos38

    jojos38
    Expand Collapse

    Joined:
    Oct 22, 2013
    Messages:
    788
    I'm not sure that 64 cores would work that fine as the game also have a main loop that run on one core, and I wonder if that core woudn't be too slow to handle that loop with 64 vehicles
     
    • Agree Agree x 1
  11. fufsgfen

    fufsgfen
    Expand Collapse

    Joined:
    Jan 10, 2017
    Messages:
    7,075
    Yeah, what I have seen something like 8 core might be realistically maximum until one core limits starts to come into play, but it varies by map and how many different kind of vehicles is spawn etc.

    There was not huge difference between my 6 core intel and 3900X at Italy test case for example, only after 20 cars there was clear difference, so it can be 8 cores there, on some other map with less graphics load by drawcalls it can be 12 cores if GPU is enough.

    Still having more cores helps to prevent fps tanking totally, so I can see benefit of having more as long as clock speed in game remains high enough as lowering clock speeds brings single core limit earlier.

    Would be interesting to see how different i5-9600K is in same situations though, that is only 250 euros here while 3700X is 365 euros and i7-9700k is 409 euros, but I would think that all of those CPUs might get pretty close to similar performance at Italy.
    At JRI there would be much more differences at least when using single type of vehicle, that is my guess at least.

    That is if all CPUs have all cores locked to 4.5Ghz (I'm only guessing, but 3700X might overclock better to that than 3900X as less cores usually reaches higher clocks?)

    Also with 20 or more vehicles 3700X would be probably best of those tree.

    In future 3700X might be one that gets utilized better if game gets less bound single core in some aspects.

    There are of course then other tasks that will get a lot quicker with more cores, gains can be higher than with less cores and for those tasks 64 cores might actually have place, but decreasing clock speeds with increased number of cores probably limit usage of such CPUs with this game.
     
    • Agree Agree x 1
  12. Patate_Folle

    Patate_Folle
    Expand Collapse

    Joined:
    Oct 1, 2019
    Messages:
    9
    I might have some other limitations here, but I don't know what it could be. I'm getting 14-15 fps with this test but none of my cores were at 100%. Avg was a stable 78% usage evenly spread across all cores.
    From what I see on jojos38 screen, he doesn't hit 100% either, while your 8086k does.

    PS : did an oopsie, no screen this time...

    For sure, the 3900X isn't able to hit 4.5ghz all core at reasonable voltage. But from what i could see, the 3700X struggles to get 4.3 all cores, let alone 4.4.
    The 3900X has the "advantage" of being composed of 2 smaller 6 cores chiplets. One is binned to get those 4.6 single thread while the other is considered as the "sh*tlet". Though it can "usually" do 4.35 ghz from what i've seen, while the good chiplet is capable of ~100 mhz more.
    Long story short, the 3900X probably has a better high frequency potential than the 3700X.
    I could be wrong, as said before, my sample and online tested ones may be unicorns, idk.
     
  13. wiad7

    wiad7
    Expand Collapse

    Joined:
    Oct 12, 2018
    Messages:
    93
  14. jojos38

    jojos38
    Expand Collapse

    Joined:
    Oct 22, 2013
    Messages:
    788
    I wonder how the 3600 perform on this, must be close to 3700x
     
  15. bob.blunderton

    bob.blunderton
    Expand Collapse

    Joined:
    Apr 3, 2015
    Messages:
    2,431
    The AMD Ryzen 3xxx series gets higher boost clocks as you go up in model numbers, same with all-core frequencies. It honestly doesn't vary more than a few hundred mhz across the model line. My 3700x will do 4.275 happily across all cores no issue until it hits about 70C then it drops off to 4.25 then eventually down to around 4.2~ 4.175 when it closes in close to 80c. It depends on how cool you keep it, if you have PBO on (I do not) or not, which can add a bit, and if you've foolishly limited the voltage on the chip for some dumb reason (leave it alone, it's not going to blow up, it has voltage regs on the chip that give it only what it needs). Ryzen will slow down also in IPC not just in clock speed if it gets decently above 80~85c, as thermal management techniques (intel just throttles clock speed).
    Almost all the Ryzen 3000 line (from the R5 3500 OEM chip to the 3950X, 3400G and below is NOT 7nm Zen 2 cores!) will perform the same roughly, with a little better single-core speed the higher up you go (vs the other way around like on intel HEDT platforms). The 3950/3900X/3900 OEM are dual chiplet designs with 72mb of cache, the models below these 3, have 36mb and under and only one chiplet die. While there is a little bit of scaling lost going to two chiplet designs, it doesn't have that bad of a negative effect as it's made up for when running a lot of vehicles by the Infinity Fabric (processor interconnect inside the cpu itself) mesh bandwidth VS the old ring-bus tech that intel uses on mainstream chips (which gets saturated easily with a lot of physics, rendering, encoding etc). The physics stacks wonderfully on Ryzen, about as good as you could expect for the price and the limitations of dual-channel memory on a mainstream board, it's just how much does the draw call limit nail you (hence testing on pure grid with identical vehicles is best). Also, because the mesh interconnect inside the chip (the Infinity Fabric) is directly related to RAM speed, you'll want a good kit of 3600mhz CL15 or CL14 memory on there if possible, don't be cheap like me and have only 3000mhz CL15 stuff because it was 'on sale', or you'll forgo a few % of performance. Get Micron RAM if you're in the market for a Ryzen machine as that's the new Samsung B-Die replacement for Ryzen 3000 purportedly, since B-die production has ceased for months now.
    @jojos38 Yes the 3600 will perform fine. It's better to get the 3600X if it's less than 20~25$ more (it's often about 10 bucks more!) as you get better clock speed and a better stock cooler (please verify the cooler is better, but if I remember correctly hardware unboxed says it is). Likewise, if the 3800X is 330$ and the 3700X is 300$, go for the higher model. If it's more than that of a difference, it's really not worth it. It's just a slightly better bin of chip. The 3600 and the 3700X are no stinkers, though. I can do so much more than with my old 4790k, and driving with 15~20 other vehicles comfortably in almost any map is AMAZING let me tell you.
    Do I have any regrets building this system, none other than I can't use my Windows 7 (without a usb 3 add-in card that supports it) or that I didn't get a 3900X/3950X yet :x

    FWIW: 4.2~4.3ghz is the best you'll do on the 7nm Ryzen 3000 series on all-core speeds unless you have an absolute golden chip. Better bins were reserved for Threadripper CPU's that are now out. Unless you're maxing your CPU 24/7 it's not necessary to overclock the Ryzen and often may lower your performance as you'll lose your single core 4.4ghz~4.6ghz (or whatever it's rated) boosts while web browsing / using the net.
     
    • Like Like x 1
  16. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,197
    Dunno if I ever ran this... if not, well here ya go...

    upload_2019-12-11_22-0-16.png

    Not bat for a 10 year old rig...
     
  17. bob.blunderton

    bob.blunderton
    Expand Collapse

    Joined:
    Apr 3, 2015
    Messages:
    2,431
    Clock speed is murdering you along with memory speed, but still very competent and definitely not over the hill yet. Congratulations on getting 10 years out of your investment into technology, however. If you can get at-least 30~40fps with at-least a few vehicles, you're doing fine!

    Do know that an upgrade to Ryzen will do loads of good, but if you've waited this long, in another two years we'll have AM5-socket DDR5 and intel DDR5 platforms out, if not a little sooner - those are scheduled for Fall 2021 if not early 2022. Too far off to tell. It's almost a year until Ryzen 4000 and Ryzen 5000 is going to be the DDR5 platform introduction. So if you've waited this long, and you still get pretty decent FPS, I'd suggest holding out unless you find something decent used. I wouldn't bother with a new intel machine at this point as HEDT is just a write-off with the new stuff by comparison to the competition, and in mainstream intel a new platform is coming out between late winter and mid spring.
    Plus, in all honesty, your current machine is a much better heater than the new machines would be. I miss my x58 machine, it always ALWAYS kept me warm. It was such a pig but my 4ghz OC on the 54xx series chip I had in 2010~2011 or so kept me warm all the time, and my nvidia cards at the time could heat two cheese-burgers in the wrapper in one GTA 4 multiplayer race from fridge temps to NICE N WARM to almost hot. Those were the days!
    This last video card I just got didn't even come with a burger warmer... I mean BACKPLATE. They're cheaping out.
     
  18. atv_123

    atv_123
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,197
    It's really weird because despite the score, I can run up to at least 15 cars without the FPS even dropping below 60FPS, and then when I start adding more, I lose FPS because my GPU starts to get overwhelmed more than my CPU. I think that's because, despite what the stats say there, my CPU's commonly run up to 3.2GHz when it's necessary and my rig has the cooling to sustain it. Like... it seems to run much better in game than the banana bench would suggest it does.
     
  19. bob.blunderton

    bob.blunderton
    Expand Collapse

    Joined:
    Apr 3, 2015
    Messages:
    2,431
    2x 6 core 12-thread CPU's will do the job. Especially when you have triple-channel on BOTH processors. The reason you get 15~16 cars is while after 12 vehicles you've filled all the cores up, you can run a few more with the scheduler enhancement of hyper-threading as the cpu finishes up some tasks quicker than others... but hyper-threading is only good for about a 30% performance boost on intel chips, hence you can run about 15~16 vehicles before it's overwhelmed. I don't necessarily think it's the video board slowing you down but when I run beyond 15~16 vehicles here even I start slowing down to around 30fps due to sheer amounts of physics + draw calls on all the vehicles. Turboing up to 3.2ghz will put you in a good way vs 2.x ghz, so that's what keeps it running nice and smooth.
    That said, long live x58 1366 platform. It's not dead yet, and I don't think it will be for another few years to be honest. To keep a machine 10 years would have almost been like using a 486 or early pentium when the core 2 cpus launched in 2006... so consider yourself very very lucky. I gave my old Asus P6T Deluxe v2 x58 machine with it's Zalman 9700 cooler and all and first-gen i7 9xx chip to an old ex-military friend of mine back about 7.5 years ago, I think he's still using it when I spoke with him last year or two ago. Dunno if it's Nvidia Geforce 470 (Fermi heater?) would run this game too well though, most of those older cards were not only very inefficient, but also very VRAM limited considering today's games.
    So definitely keep that machine going! Even China is making dual-channel Huanan x58 (though single socket!) boards on the cheap for those xeon 5xxx processors to this day, so if fancy-brand board replacements are too expensive, consider looking around.
     
    • Like Like x 1
  20. stenyak

    stenyak
    Expand Collapse
    Staff Member

    Joined:
    Aug 6, 2012
    Messages:
    1,239
    Another benchmark here, ram at 3000MHz C16. Still haven't managed 3200MHz, mem controller seems to have trouble handling all 4 slots:
    upload_2019-12-20_3-15-34.png

    I've seen single thread clocks of up to 4715MHz, but usually the max clock are around 4600MHz in one chiplet and 4350MHz in the other. And sustained all-core clocks slightly below 4300MHz.


    I have only diagonally read the past dozens of posts, but let me make some quick points.

    Regarding physics update rate: the core physics run at 2KHz, however the rest of physics (located under lua/vehicles/ folder) can in theory run anywhere from 0Hz to 2KHz. By default we attempt to make things work at graphics Hz. This is a contributor to game performance and to minimum requirements. More frequency doesn't always mean better physics (see nyquist theorem as an extreme example), so the tradeof is often worth it.

    About determinism: even with fixed Hz, it can be hard to achieve. Switch to a different CPU, and you will most likely get different results. Different compiler versions might apply different optimizations, leading to different results from one game update to the next. 32bit vs 64bit. Changes to FPU settings. Etc.

    Regarding function names, "update" vs "updateGfx" does not necessarily determine the update rate. For this, it's best to check their callers at lua/vehicle/main.lua, because in some cases the naming may be inconsistent.
     
  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