The quest for superior visuals, systems and flight modeling depth, and making this all operate smoothly at 4K resolutions and on VR headsets is one that offers a challenge for all fight sim developers. DCS has struggled at times over the years to achieve all of this at once and that has lead for many in the community to ask when the sim will make strides forward in that area. Today we have an update on multi-threading for DCS in the latest DCS World Weekend News update.
Dividing the threads
In the early 2000s, the race was on for CPU manufacturers (primarily Intel and AMD in the PC space) to offer great performance through greater clock speeds. Those are those MHz and GHz ratings that you still see on CPU specifications. The more cycles per second that the CPU can offer, the more performance.
That race ended in the early 2000s as the difficultly of cooling a 3-5 GHz CPU meant that manufacturers had to do more clever things to get more performance. One of those ways was to add more than one CPU core to the package and thus we now have CPUs with two, four, eight, sixteen and more cores. Even our smartphones frequently pack multi-core processors.
The problem is writing software that can take advantage of such a process is challenging and, from what I hear, even more-so when it comes to simulations. I’ll let Eagle Dynamics latest update tell the next part of the story.
As DCS evolved, GPUs have become much more powerful whilst the performance of a single CPU core remained practically unchanged. Instead, CPU manufacturers increased the number of cores rather than the clock speed of individual cores. As a consequence, DCS performance has become CPU-limited. In parallel, DCS World has become much more complex with increased reliance on CPU calculations that has exacerbated the problem.
For years now, Eagle Dynamics has been working on efforts to move more of DCS World into a multi-processor way of doing things. It’s been talked about for a long time and it’s even appeared on the roadmap for 2021 and been mentioned in past years too.
The latest update suggests that progress is still being made on this core change to DCS World. There may even be some light at the end of the tunnel!
To improve efficiency of CPU resources usage, we have reworked the core of our engine. First, at the architectural level, it has been divided into two main threads: graphical and logical. This opens up new possibilities for further thread parallelization of calculations in both the logical and graphical parts of the engine independently.
Second, to meet the requirements of scalable multithreading, and the needs of modern graphics APIs, the graphical engine part has been significantly enhanced. In addition, many subsystems have been updated, or written from scratch.
This is probably a bigger thing than many might give it credit. Re-writing DCS from the core level is no doubt a massive job and it sounds like Eagle Dynamics really have gone back to the basics to make that happen. Critics have pointed to the need for DCS World to do this and it sounds like they are well into the process of making the update happen.
But when is it coming?
This all sounds good but I know a lot of DCS fans have been holding out hope for this to come for a long time now. It’s become an almost perennial ask. In that context, the next quote is really interesting as its a bit more definitive than we’ve had for some time.
Internal testing has begun, and we plan to release the updated DCS graphic engine (EDGE) next year. The initial release of Multithreading support will contain a fully reworked engine including preparation of the graphical frame and the separation of the graphical and logical parts onto two independent threads.
Picking that apart, the news that internal testing has begun sounds encouraging to me because it means that this has gone beyond a prototype/engineering stage to something that is testable. Next, it sounds like this will be a multi-step process much like 2.7 and 2.8 brought separate but related improvements to the cloud and weather rendering.
They also state that the biggest improvements will be in larger missions and in VR – both are places where DCS has and continues to struggle. If this can make some significant strides in this area, that will be a tremendous boost for DCS.
Read about all of this and more on the latest DCS World Weekend News.
15 Comments Add yours
I’ve got 8 cores and 16 threads. Bring it on.
LikeLiked by 1 person
Excellent news – as far as VR goes 2.8 was a pleasant surprise in terms of visuals, will be very glad if they can get it to perform smoothly as well.
LikeLiked by 1 person
Absolutely! Hopefully we’ll see this sooner than later.
As a geek I find their explanation a little lacking when it comes to single thread cpu performance. Clock frequencies don’t tell you much. There have been notable single thread efficiency gains – my 7950x single core performance is notably better than my 5900x even if running at the same clock speed.
Multithreaded will be nice if done properly on those large missions, but keep expectations in check.
LikeLiked by 1 person
I get it. It’s definitely a very simplified explanation of what’s going on. I started writing a more in-depth explanation myself but the article would have taken me too long and I feel like too much wouldn’t be relevant.
I always go back to the bottom line of the messaging and that’s the hopefully encouraging news that this feature is finally taking some steps towards being made a part of the release structure of DCS World and that we’ll all benefit from some smoother performance from the sim.
This is great news especially for us who play Liberation (with and without VR).
They’ve also mentioned that a completely new graphics/3D engine is coming so I am guessing that the work they are doing now needed to happen anyway. It’ll be pretty awesome to have both of these important updates one day.
One can note that any DirectX 11 driver worth its salt is quite likely to spin off a second worker thread to handle all the API calls already today. So rendering is effectively done on two threads really.
But Vulkan (or DirectX 12) will leave that to the application. This means that having just a single rendering thread using Vulkan tend to behave much worse than just using DirectX 11. (That is, any naïve/basic port from DX11 to Vulkan tend to regress in rendering performance. This is well known, so it is just really a matter of managing expectations)
So I do hope that there split of the rendering is really done inte multiple threads sooner than later. (They did mention it coming at some point).
On the other hand, just speculating, it would also make sense to not implement all improvements at once, and keep the same rendering API for one release version while preparing all the multithreading optimizations, in order to avoid creating too many bugs. Or so I would think.
About time to do the optimization, I do hope they also optimize the graphical artifacts. My RTX3070/9700k @5Ghz, can not handle DCS shimmer free in VR. Did read lots of VR adjustment articles and seen lots of “ the best settings for VR” YouTube videos, but still its shimmering is, as a sample, lot more then IL2 “Battle of series”.
I am stupid on this subject and am traveling so cannot check the details. I have an i7 from 2016 and 32m of DDR3 (or maybe 4?) which I think is quad core. My GPU is RTX 480 and frankly this struggles with VR over Marianas.
To take advantage of these kind of developments I am guessing that it is the GPU but otherwise everything else is good for DCS’ efforts?
I assume that’s an AMD RX 480 and not an nVidia RTX 4080?
Your system is a bit long in the tooth and Marianas on DCS is a beast of a map for details.
I suspect that not even Eagle Dynamics knows exactly what the results are going to be. Its likely that newer systems will benefit the most under heavy load situations and older systems might benefit in smaller amounts. Nearly every CPU sold over the last decade has multiple cores but the performance of the individual cores still matters quite a bit.
IF the transition is similar to what we saw with Vulkan for X-Plane, we’ll pick up a few extra frames but the whole sim will run much more smoothly on the whole which will make a bigger difference.
I have fwd your helpful reply to my wife as evidence that she should let me spend some money on my harmless hobby as everyone else has better toys than me.
My HOTAS is 12 years old…. 😕
LikeLiked by 1 person
I’m happy to help! You let me know if I need to advocate for a newer HOTAS… I’ve done some nice reviews the VIRPIL CM3 there and VKB will come out with TECS some year! 😉
Thanks. I was looking at the Virpil throttle but I prefer the Warthog stick. Pedals I was going to get the €99 Thurstmaster ones.
I’m happy to advocate for those as well with the minister of war and finance 🙂
Not directly related to this news, but @Shamrockonefive have you heard about the dev of Joystick Diagrams to retire his tool for DCS? It’s such a great tool for DCS multi-plane pilots, maybe you can help spread the word that he’s looking for someone to take over? Thanks!