Jump to content

SB Pro Performance and CPU Cores


Fichtenwald

Recommended Posts

Hello!

 

I finally upgraded to a new PC specifically for SB Pro (to be able, to play online with others in the community in the future) and would like to ask a question on performance:

 

How many CPU cores are ideal for SB?

 

I now have an 11900K with 8 cores. If 6 cores (and 12 threads) would be enough for SB, then I would disable 2 cores and OC the rest to 5.3GHz. When looking up the CPU core usage levels of SB, I noticed, that (like other 3D-Simulation-Engines), it mainly "sits" on one core with full usage, and on two other cores with lighter usage. The rest of the cores are at 2% to 5% usage, so it seems, that they are not really necessary:

 

Vcore_Simulation_Usage.thumb.jpg.67f50114c7d0e3f71d5a9728a2998665.jpg

 

So would it maybe be better, to disable 2 cores and OC the 6 remaining cores for better "single-core"/"lightly-threaded" performance in SB?

 

Thank you for advice!

Edited by Fichtenwald
Link to comment
Share on other sites

  • Fichtenwald changed the title to SB Pro Performance and CPU Cores
  • Members

More cores help to reduce scenario load times. Here we're parallelizing as much as possible (also with legacy map conversion, which however isn't the typical use profile). Also, certain tasks (such as simulating the vehicle suspension, HE/frag grenade terminal ballistics) always run in separate threads.

 

SBPro version 5 will use parallelization much more aggressively, but is still a good while ahead. My new PC has a 16 core CPU, just so you know what my own expectations are.

Link to comment
Share on other sites

2 hours ago, Ssnake said:

More cores help to reduce scenario load times. Here we're parallelizing as much as possible (also with legacy map conversion, which however isn't the typical use profile). Also, certain tasks (such as simulating the vehicle suspension, HE/frag grenade terminal ballistics) always run in separate threads.

 

 

I see, thank you. Scenario load times are not that important to me; it is more about performance in the scenario itself. So I guess, it is good to use all 8 cores/ 16 threads for the "certain scenario tasks", that you mentioned.

 

2 hours ago, Ssnake said:

SBPro version 5 will use parallelization much more aggressively, but is still a good while ahead. My new PC has a 16 core CPU, just so you know what my own expectations are.

 

So I went for the wrong CPU... 😐

 

Some simulation benchmarks noted, that 8 cores are the "sweet spot" for simulation games. And that more cores are only good for simultaneously doing other stuff in the background while gaming (streaming, etc. ...), which I do not do. Still, I directly upgraded from a 10 year old 2600K, so the 11900K is a big performance increase anyway.

 

But I should have asked here, about the future SB Version 5, before buying! So in the future, it is better to have more cores, instead of fewer cores with higher clock speeds (only 8 cores, but up to 5.3GHz on the 11900K)? That seems like a big change for 3D simulation engines, which tended to be "single-core" heavy and only lightly threaded?

 

Edited by Fichtenwald
Link to comment
Share on other sites

  • Members

Well, I purchased the 16 core to be able to fully test the more extreme parallelization cases, which will probably be used to scale up certain details (of increasingly less relevance), not necessarily to "run faster". FEX, we might be able to trace more individual fragments with HE detonation events if more cores are present, but since we're going from high mass to low tracing the smaller fragments will yield only minor (and at some point vanishing) improvements in fidelity. Or, to test out a server function hosting multiple sessions, something of relevance probably only for military customers. So, I don't think at all that you made "a bad choice". Your new CPU should serve you well for years to come.

Link to comment
Share on other sites

Thank you for the explanation! That is a relief to hear, since I specifically bought this new computer for playing SB online with others. The CPU was quite expensive, but the rest was cheaper/more reasonable, because I tried to hit some kind of "SB Pro sweet spot":

 

- 16 GB DDR4 3600 MHz with CL16 (stock)

 

At 85€ this RAM gives really good performance. And 16GB should be enough for a "pure" SB-player? In some benchmarks it had better performance than twice as expensive 4000 MHz CL17. The most problematic thing was, that something had changed, since I bought the old "Sandy Bridge" Gaming-PC 10 years ago: Nowadays every PC component seems to glow like some kind of Christmas tree, which appears to be completely meaningless to me (to say it mildly)... :)

 

- GTX 1070

 

This GPU seems just about right for SB @ 1080p/60hz.  I am glad, that I am not a "gamer", who need GPUs for 4K/120hz displays or whatever is the standard nowadays. GPU prices are insane. That is the positive side of playing a CPU-limited simulation. I guess, it puts one in a pretty small "niche" category, having a free-time gaming PC with a CPU that is way more expensive, than the GPU. Looking through a virtual lower-refresh TI sight on a high-refresh monitor would be kind of hilarious anyway...

 

5 hours ago, Ssnake said:

FEX, we might be able to trace more individual fragments with HE detonation events if more cores are present, but since we're going from high mass to low tracing the smaller fragments will yield only minor (and at some point vanishing) improvements in fidelity. 

 

Still sounds very promising. I guess, most will happily "sacrifice" some cores for a higher detail fragmentation effect or blast wave model. Producing thousands of individual fragments per shell upon detonation (in case of the larger ones) and calculating if they connect to some target, must be a huge workload...

Edited by Fichtenwald
Link to comment
Share on other sites

  • Members

We do want to take advantage of the latest generations of GPUs with version 5, if they are available, to enable actual and significant performance boosts with the new architecture. But at the same time I think we will still want to make sure that the higher tiers of older generations of graphics cards (such as the GTX1070) will still perform well.

The RTX3000 series is impressive as hell I must confess; it's a shame that it is so well suited for crypto currency generation that these miners ruin the entire market for gamers. At recommended retail price levels I'd buy one in a heartbeat. At the same time we can hold out with our older cards until this storm has blown over, so I'm not too worried about the situation, just, admittedly, annoyed.

 

I'm not particularly comfortable talking about our plans (even if we are already working at them rather than just blowing pipe smoke). Everything that we do must adapt to the conditions of our work (finances, time, and manpower available), and these conditions change over time. So, they are not promises of a certain future performance, or specific feature sets. They are the general direction into which we're heading, and we'll see how far we come. There's still a number of "known unknown" issues that will have an effect on final performance and schedule, AI being one of them.  Then again, looking back at the road already behind us, I suppose we could have done much worse, so I remain optimistic about what we can achieve in the next years.

 

In any case, like I wrote, the formula "more cores=more fragments" is going to offer diminishing returns (and it is but a single example of the kind of scaling that we have in mind), and 4...8 cores should deliver good performance for years to come. Likewise, 8...16 GByte of RAM is the "comfort zone" that I wouldn't want to leave unless there was dire need. There'll be increasing need for storage space for maps and graphics textures, but then again many games these days already want 40...80 GBytes of harddisk, so we're still well below that margin.

Link to comment
Share on other sites

11 hours ago, Ssnake said:

The RTX3000 series is impressive as hell I must confess

 

Yes, my brother works in the machine learning sector as "data scientist" (also some military related customers), they do a lot of things on the GPUs now. And even have multiple RTX GPU workstations. I believe up to 5 Quadro RTX or normal RTX GPUs per workstation, while having just one single "standard" CPU with 10 cores in such a Multi-GPU workstation.

 

11 hours ago, Ssnake said:

We do want to take advantage of the latest generations of GPUs with version 5, if they are available, to enable actual and significant performance boosts with the new architecture. But at the same time I think we will still want to make sure that the higher tiers of older generations of graphics cards (such as the GTX1070) will still perform well.

 

Fully utilizing latest GPU generations would be amazing! One reason, that I can think of (the current annoying price situation aside): 

 

It is a easier to upgrade a GPU for us SB players, than upgrading to a new CPU. For a new CPU you also need a new motherboard and possibly other related stuff. A new GPU can (theoretically) be integrated into every system. So everybody could upgrade without having to buy a whole new system, by just buying an appropriate latest generation GPU.

 

So it would maybe not be that bad, if older pre-RTX GPU generations would become slightly "obsolete". Especially since Version 5 will be some time away. And I guess, many SB players (me not being one of them) have good state-of-the-art GPUs anyway for flightsims or games like that?

 

11 hours ago, Ssnake said:

There's still a number of "known unknown" issues that will have an effect on final performance and schedule, AI being one of them.

 

Can AI calculations be done on the GPU as well? I assume, that AI spotting is already done with raytracing on the GPU?

Edited by Fichtenwald
Link to comment
Share on other sites

  • Members

There is no simple answer to that, I have come to learn (and I'd like to remind everybody that I'm not a programmer). GPUs can be very fast if the data to process are readily available in video RAM. If they are not, the latencies in shoveling the bytes over the PCI bus may utterly kill any speed advantage. So the nature of the task and the question of data locality will decide whether tasks be solved on the CPU or on the GPU.

Link to comment
Share on other sites

6 hours ago, Ssnake said:

GPUs can be very fast if the data to process are readily available in video RAM.

 

Interestingly, the "old" GTX 1070 already has 8 GB video RAM and the current RTX 3070 also still has not more than 8 GB. But the new GDDR6 is almost twice as fast of course.

 

Is more video RAM than 8 GB needed for the data? If not, then at least the last 3 generations of GPUs would have sufficient.

 

Edited by Fichtenwald
Link to comment
Share on other sites

  • Members

At this stage it simply would be rather insincere to make a statement. The question how exactly the various features will be implemented and what their impact on hardware requirements would be can only be answered after different methods have been thoroughly considered (if not tested).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...