Jump to content

Recommended Posts

Posted (edited)

Hey Guys,

 

I am trying to find true facts and not just rumors and what people think.. I currently believe from what I just experimented on and from what ED them selves stated that DCS ONLY uses 2 cores, one for the simulation and the 2nd for sound..

 

I do not believe Windows spreads the game over all available cores that is not how multithreaded games work.. Now I made some screenshots to show you and the first one is DCS in the F16 Interdiction mission. note core 7 usage.

 

Since DCS uses only 2 core which shows pretty clearly only 3 cores mostly being used, the 3rd cores usage was probally windows related and such but not related to DCS.exe usage..

 

 

 

Now I did the same with a known game that uses Multicore note the usage on all cores:

 

 

So in one of my posts I seen a video where the person stated a better cpu will help. well in DCS current state it will not in reality..

 

Having 4 cores and a fast single core CPU will be best and a good video card.. I seen the multicore discussions and it seems most believe DCS or Windows spreads the work out of multicores well you seen the screen shot and it obviously does not..

 

I am not bashing DCS or ED I think they have done a great job and I Imagine when they release DCS with Vulkan if that is what they are upto I would beleive we then shall see some improvements in FPS and such especially for the VR guys.

 

And since I seen countless threads on people with monster systems and DCS still doesnt run much better with top end systems I am just going to enjoy with what I currently have and not chase the rabbit down the hole any longer well at least until a Vulkan release of DCS hits the shelves..

 

Well I hope this will dispell some of the multicore myths that are floating on these forums about multicore use and DCS..

 

Like Ripley Said "Believe it or Not"

2007636402_dcsmulticore.thumb.jpg.d0377e5f01156c4670f7ce7e31eead7b.jpg

756054259_multicoregame.thumb.jpg.524c53d8dfcd0bca46e224d1f559e754.jpg

Edited by The_Nephilim

Intel Ultra 265K 5.5GHZ   /  Gigabyte Z890 Aorus Elite  /  MSI 4070Ti Ventus 12GB   /  SoundBlaster Z SoundCard  /  Corsair Vengance 64GB Ram  /  HP Reverb G2  /  Samsung 980 Pro 2TB Games   /  Crucial 512GB M.2 Win 11 Pro 21H2 /  ButtKicker Gamer  /  CoolerMaster TD500 Mesh V2 PC Case

Posted

I.think ED will solve this problem in years

 

通过我的 ONEPLUS A5010 上的 Tapatalk发言

A-10C Warthog,Flaming Cliffs 3,F-16C VIPER,F/A-18C HORNET,Super Carrier,AV-8B Night Attack V/STOL,Mi-8MTV2 Magnificent Eight,Black Shark 2,SA342 Gazelle,UH-1H Huey,Persian Gulf Map,Combined Arms

 

Intel i7-14700KF| Colorful iGame GeForce RTX 2070 AD Special OC GDDR6 8G | Acer PREDATOR 32g DDR5 6000MHZ | MSI PRO Z790A-MAX | Kingston KC3000 1T SSD M.2 | ST 12T HDD 7200RPM | AOC 2790PQU 27'' 4K |Thrustmaster Hotas Warthog PC

Posted (edited)
...

one for the simulation and the 2nd for sound..

 

That's an old and very rough and is not true anymore, it's better now. A quad core should be worth it.

 

 

Since DCS uses only 2 core which shows pretty clearly only 3 cores mostly being used, the 3rd cores usage was probally windows related and such but not related to DCS.exe usage..

 

Not necessairly, many components that game's rely or happen to use on are performed using windows kernel, particularly graphics and file/disk I/O so there would be some activity by the "System" process, but is infact the sim triggering it, you can see that in the Threads view in my posts.

 

 

Having 4 cores and a fast single core CPU will be best and a good video card.. I seen the multicore discussions and it seems most believe DCS or Windows spreads the work out of multicores well you seen the screen shot and it obviously does not..

 

Spreading the work of a single thread does not do anything good for any performance improvement, what you see there is a single thread most likely, it's a bit of a long story, you may check out my older posts, by normal design there is a thing called "IDEAL CPU" where threads would pick a favourite CPU they usually like to work on when they're busy, then there's thread's CPU Core priority which also affects which core's they're going to try to stay with.

 

If those were multiple-threads then they would have been (most likely by mistake) pushed onto CORE 7 on manually, by default the Affinity and Priority is balanced.

 

The Per-Core CPU graph view the kind of basic one we have in Task Manager is prone to misunderstanding, you can't see any thread behavior there, it's all mish-mash, it only serves one specific purpose and trying to speculate about the threads is not recommended, I made the same mistakes in the past.

 

So the spikes you see there, those are single threads mostly and while DCS overall still depends on the main thread most of the time, it's not that bad as it looks. Other games use more threads yes ... but still, how can you be sure those aren't 4 threads jumping around being "load balanced"

 

In the end it's true that there is room for improvement big time in DCS, and we may see something a bit similar, but this is much more sophisticated, the games you're comparing to aren't simulators, the workload depends hugely on the activity you're doing in the game, you'll see huge differences depending on what you're viewing with the camera (FPS increase also increases CPU, which is kinda weird, it's the next thing I'm looking into), simulators depend a lot on the type of calculations that can't be multi-threaded, you'll always have a bottleneck, but it may be much higher up, let's say we might do giant battles up to 100 S-300 missile batteries, after which you'll be botlenecking one of the threads responsible part of S-300 workload, for example missile guidance/tracking, FOR example, I'm not really sure now if that's really a single-threaded type of thing or not but you get the idea.

 

What is possible perhaps, as I speculated earlier, is to split each missile guidance/tracking into it's own thread, that's the kind of multi-core improvements DCS could get into, splitting(parallelizing) what's splittable (paralellizable).

It could be even better if each unit group could have it's radar split as well, but because missile tracking requires the radar data I'm not sure how that would be possible from my very limited knowledge.

Well, the radar thread could output it's results on it's own speed, and the missile tracking thread would just read the results on it's own and perhaps those two threads may not even need to talk directly or be dependent on each other, IDK, just a bit of food for thought.

 

---------

Windows 10 2004 updates the Task Manager in some ways, but it's a bit of a joke, they grouped all HDDs together to show a single activity graph !?! I hope it can be ungrouped otherwise it's a step backward in every single troubleshooting case IMO. They should have introduced a "Per-Thread CPU Acitvity Graph" or upgrading the "Per-Core CPU Activity Graph" with some thread info, for example separate graph lines/colors for top 5 threads.

 

 

I am not bashing DCS or ED I think they have done a great job and I Imagine when they release DCS with Vulkan if that is what they are upto I would beleive we then shall see some improvements in FPS and such especially for the VR guys.

 

Yeah, and Vulkan is quite some time away, it's not just an upgrade, it's an industry transition.

Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Posted
I am trying to find true facts and not just rumors and what people think.. I currently believe from what I just experimented on and from what ED them selves stated that DCS ONLY uses 2 cores, one for the simulation and the 2nd for sound..

this is not correct. it maybe have been like that 5 years ago, but it's not that way today.

 

if you use a process diagnostic tool, you will see there are many execution threads and more than two of them get significant execution time.

 

if you want to test this theory yourself, set your cpu affinity to only 2 cpu cores and see how DCS runs. you'll know right away if it only needs 2 cores :)

Posted

Actually, the game basically uses a single thread for everything except audio. However, due to the way Windows distributes threads across multiple cores, it's now technically using multi-cores, but without any of the benefits, as it's only single threaded. There's a heap of detailed information and confirmation from ED about this on the Internets. Google is your friend.

Intel 11900K/NVIDIA RTX 3090/32GB DDR4 3666/Z590 Asus Maximus motherboard/2TB Samsung EVO Pro/55" LG C9 120Hz @ 4K/Windows 10/Jotunheim Schiit external headphone amp/Virpil HOTAS + MFG Crosswind pedals

  • ED Team
Posted
Well, the radar thread could output it's results on it's own speed, and the missile tracking thread would just read the results on it's own and perhaps those two threads may not even need to talk directly or be dependent on each other

Unfortunately, both of these activities need an access to the world state which is constantly changed by other actors. Just more food for thought.

Parallel simulation is a deep topic by itself.

Dmitry S. Baikov @ Eagle Dynamics

LockOn FC2 Soundtrack Remastered out NOW everywhere - https://band.link/LockOnFC2.

Posted (edited)
I.think ED will solve this problem in years

 

通过我的 ONEPLUS A5010 上的 Tapatalk发言

 

Maybe, but to make a game use multi-core / threads more evenly you have to write the program from the beginning to do so. This likely would mean a complete rewrite of DCS and possibly all of its planes.

 

Since DCS is an on going evolution of Lock On: Modern Warfare and likely still uses a lot of code from 2003, they would have 17 years of work to rewrite.

 

And for others, a software program HAS to be programmed for multi-threaded use. An OS can't do it on its own. If DCS for a majority of its code isn't designed for multi-threaded use, it will operate majority wise on a single core. Not sure how modular ED's code is, but if it is easy to separate something such as radar from running with the other lines of code, then perhaps they could over a period of time spread the work load out to other processors. Currently ED is working on a lot of other things like Vulkan API, new weather system, ground radar maybe and god knows what else. Rewriting a ton of old code might not be a priority at this time.

 

If I were buying a processor purely for DCS, I would look for one that has the highest clock speed rather than the most cores. But as a priority for DCS I would always choose to upgrade a GPU over a CPU. I still have an i7-5820K with 12 threads capable. My overall CPU usage when running DCS is like 15% utilization. However, 1 core will always be around 50-75% utilization. If I had massive amounts of memory and more internet upload bandwidth, I could probably run 3 dedicated servers each with 2 affinity and all 3 servers would probably provide the same performance as someone running 1 server off there computer.

 

Edit: Actually since a dedicated server doesn't use sound I could probably run 6 servers (no I wouldn't run 12 cause threads share fetch timing and if an operation for PID 1 takes 16 times longer than operation for PID 2 then PID 2 has to wait for PID 1 to finish).

Edited by Kazius
Posted
Unfortunately, both of these activities need an access to the world state which is constantly changed by other actors. Just more food for thought.

Parallel simulation is a deep topic by itself.

 

Ah I knew it's not going to be that easy ...

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Posted

OK I seen a few of you guys say that DCS uses more then 2 cores do we know from the developers how many DCS does utilize these days or are we in the dark..

 

I ask because I would like to know but in the graph it looks like only 3 at most are utilized,, now some said the other cores are getting work just maybe from DCS through Windows or even DX Processes?

 

Either way updating to 8 cores did nothing for me and I have the test that proved that.. what I was trying to determine for future reference but I do know now that more cores does not equal more performance in essence.

 

If anything I learned is DCS would probally have benefited from a new graphics more then more cores..

Intel Ultra 265K 5.5GHZ   /  Gigabyte Z890 Aorus Elite  /  MSI 4070Ti Ventus 12GB   /  SoundBlaster Z SoundCard  /  Corsair Vengance 64GB Ram  /  HP Reverb G2  /  Samsung 980 Pro 2TB Games   /  Crucial 512GB M.2 Win 11 Pro 21H2 /  ButtKicker Gamer  /  CoolerMaster TD500 Mesh V2 PC Case

Posted
Actually, the game basically uses a single thread for everything except audio. However, due to the way Windows distributes threads across multiple cores, it's now technically using multi-cores, but without any of the benefits, as it's only single threaded.

so, what you're saying is, we can limit DCS to two physical cpu cores (tell Windows not to distribute threads across multiple cores), and it will run correctly with no performance loss?

Posted
OK I seen a few of you guys say that DCS uses more then 2 cores do we know from the developers how many DCS does utilize these days or are we in the dark..

we are not "in the dark".

 

if you use a process diagnostics tool, you can see that DCS uses many threads (execution contexts), and the way operating systems work, the operating system will schedule those threads to an available cpu core when they are ready to run.

 

if two (or more) one of them are ready to run at a given time, the operating system will schedule each thread onto a separate cpu core where they can run simultaneously and make use of multiple cores.

 

if you feel like it, you can constrain your system and limit what cpu cores you allow DCS to use, either manually or by using a tool like Process Lasso. some users claim DCS runs faster when you constrain it, but i haven't seen that (and it doesn't make much sense that it would)

Posted (edited)
we are not "in the dark".

 

if you use a process diagnostics tool, you can see that DCS uses many threads (execution contexts), and the way operating systems work, the operating system will schedule those threads to an available cpu core when they are ready to run.

 

if two (or more) one of them are ready to run at a given time, the operating system will schedule each thread onto a separate cpu core where they can run simultaneously and make use of multiple cores.

 

if you feel like it, you can constrain your system and limit what cpu cores you allow DCS to use, either manually or by using a tool like Process Lasso. some users claim DCS runs faster when you constrain it, but i haven't seen that (and it doesn't make much sense that it would)

 

Well I guess you did not look at my pics I posted.. I did use a PDT and it shows 1 core heavy use and two others light use.. so basically maybe 3 cores at most and not very efficient as the other pic I posted of a multi threaded capable game was just about even across 8 cores..

 

 

 

 

 

NE2s9d.jpg

f3FT2P.jpg

Edited by The_Nephilim

Intel Ultra 265K 5.5GHZ   /  Gigabyte Z890 Aorus Elite  /  MSI 4070Ti Ventus 12GB   /  SoundBlaster Z SoundCard  /  Corsair Vengance 64GB Ram  /  HP Reverb G2  /  Samsung 980 Pro 2TB Games   /  Crucial 512GB M.2 Win 11 Pro 21H2 /  ButtKicker Gamer  /  CoolerMaster TD500 Mesh V2 PC Case

Posted (edited)
OK I seen a few of you guys say that DCS uses more then 2 cores do we know from the developers how many DCS does utilize these days or are we in the dark..

 

I ask because I would like to know but in the graph it looks like only 3 at most are utilized,, now some said the other cores are getting work just maybe from DCS through Windows or even DX Processes?

 

Either way updating to 8 cores did nothing for me and I have the test that proved that.. what I was trying to determine for future reference but I do know now that more cores does not equal more performance in essence.

 

If anything I learned is DCS would probally have benefited from a new graphics more then more cores..

 

Sure, this is what I kinda said, but I guess I didn't explain enough here.

 

Cores:

  • 1 Base
  • 2 Significant Improvement
  • 3 Well Deserved Improvement
  • 4 Worthy Improvement
  • 5+ Insignificant improvement

 

So if you had a 4 core CPU and you went to 8, you're not going to see much improvement indeed.

 

And we also got a note from the horses mouth that this is an unfortunate area, it's just not possible or extremely hard to parallelize something that's just can't be, some things will remain serial forever and this is just the laws of physics, the laws of the universe. And as a simulator, at least in it's current state, DCS relies on many things that are serial in nature and will remain so. Perhaps in the future it may be 60% parallel and 40% serial or it'll just but I, I think it's like ... 80% serial and 20% parallel now (very rough and quick numbers) ... you might get down to 30% of the game's stuff being serial way down the line ... but even that could be a stretch, it will never be 100% parallel.

 

The best thing you can do is to write messages, emails, telegrams, physical letters or whatever directly to AMD and Intel and complain about their (almost "criminal") decade long stalemate in terms of single-thread performance.

Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Posted (edited)
Sure, this is what I kinda said, but I guess I didn't explain enough here.

 

1 Worst

2 Much Better

3 Better

4 Optimal

5+ Negligible improvement

 

So if you had a 4 core CPU and you went to 8, you're not going to see much improvement indeed.

 

 

Yes I got it now but the damage is done, I should have bought a GPU Instead and kept my i5 7600K.. ;)

 

That is why I was trying to determine the facts and not hearsay for other users on the fence about what to buy a GPU or CPU.. all from what I gather even a 3770K can run DCS Pretty decent in the 1 post I saw where he went from a 3700k to a 9700K of course the 9700k in his case was way better but it my case I just should have went with a new GPU.. now I need a better GPU but I am going to try and hold off for the 3xxx series..

 

Like I was saying I was looking for facts that we do know from the developers but I guess they keep that kinda info locked down?? Not really saying it in a bad light was just wanting some official word on the matter..

Edited by The_Nephilim

Intel Ultra 265K 5.5GHZ   /  Gigabyte Z890 Aorus Elite  /  MSI 4070Ti Ventus 12GB   /  SoundBlaster Z SoundCard  /  Corsair Vengance 64GB Ram  /  HP Reverb G2  /  Samsung 980 Pro 2TB Games   /  Crucial 512GB M.2 Win 11 Pro 21H2 /  ButtKicker Gamer  /  CoolerMaster TD500 Mesh V2 PC Case

Posted (edited)
Yes I got it now but the damage is done, I should have bought a GPU Instead and kept my i5 7600K.. ;)

 

That is why I was trying to determine the facts and not hearsay for other users on the fence about what to buy a GPU or CPU.. all from what I gather even a 3770K can run DCS Pretty decent in the 1 post I saw where he went from a 3700k to a 9700K of course the 9700k in his case was way better but it my case I just should have went with a new GPU.. now I need a better GPU but I am going to try and hold off for the 3xxx series..

 

Like I was saying I was looking for facts that we do know from the developers but I guess they keep that kinda info locked down?? Not really saying it in a bad light was just wanting some official word on the matter..

 

Oh, heh, don't worry, with those extra 4 cores you can probably record good video in DCS without any impact on FPS, which is also useful for perf testing, all you would need to do is to set the recorder's process affinity to use only 4 Cores so that it doesn't spill over to the rest of them, because recording can be highly multi-threaded and will try to use all the cores.

 

I was doing some testing recently and I couldn't do a demo in a video because the CPU cost of the recording would have skewed the test results.

 

That's because there so much drama with the perf stuff, it would take attention away from the game it self and all the releases if we talked so much about it. Once I got myself deeper into the performance diagnosis tools, I started focusing on actual helpful bug reports instead of just talking about it.

 

Infact you did something I couldn't, I still have at least a year or two before a new PC ... infact your machine may be useful for example if I have a test to do I can do all the heavy lifting myself and then just send you the track or instructions for you to film it on a beefier CPU, that's where those 8 cores would come in very handy.

 

But ... just in case, are those really 8 physical cores, those aren't HT/SMT threads right ????

Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Posted (edited)

The best thing you can do is to write messages, emails, telegrams, physical letters or whatever directly to AMD and Intel and complain about their (almost "criminal") decade long stalemate in terms of single-thread performance.

 

It isn't up to the processor to decide what operations are processed by a thread. It sort of isn't up to an OS to decide either. You have to write code to utilize multi-threading. Unfortunately I can't link most of my text books from university that are C++ related. But the link below will explain how programming for parallel processing works. Sorry, in short notice it is the only online text book I can think of that has good easy to understand examples.

 

http://math.hws.edu/javanotes/c12/index.html

 

I think the point The_Nephilim is trying to make is he asked people on the forums for their opinions on what hardware to upgrade to gain the biggest performance gain and wasn't aware that DCS doesn't do well with parallel processing. However, most other simulators do. I know for a fact the other image is for a simulator as well. So I know simulators can be made to utilize parallel processing quite evenly across all cores/threads.

 

But ... just in case, are those really 8 physical cores, those aren't HT/SMT threads right ????

 

The i7-9700k is all physical cores according to intel ARK:

 

https://ark.intel.com/content/www/us/en/ark/products/186604/intel-core-i7-9700k-processor-12m-cache-up-to-4-90-ghz.html

Edited by Kazius
Posted

 

But ... just in case, are those really 8 physical cores, those aren't HT/SMT threads right ????

 

Yes they are 8 Physical Cores not HT ;) but I know down the road and my other sim I play utilizes so it was not a total waste.. and when the 3xxx cards come out I should be able to push those just fine..

Intel Ultra 265K 5.5GHZ   /  Gigabyte Z890 Aorus Elite  /  MSI 4070Ti Ventus 12GB   /  SoundBlaster Z SoundCard  /  Corsair Vengance 64GB Ram  /  HP Reverb G2  /  Samsung 980 Pro 2TB Games   /  Crucial 512GB M.2 Win 11 Pro 21H2 /  ButtKicker Gamer  /  CoolerMaster TD500 Mesh V2 PC Case

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...