Jump to content

Multi-Threading Discussion


Canada_Moose

Recommended Posts

Out of curiosity last night I downloaded xplane again, having not used it for quite some time. In that time xplane has implemented Vulkan API and multicore. I have to say I was really impressed at the performance using my reverb g2. I was able to run all settings on max, and all at full native resolution in the g2. It actually all looked really very good. This makes me rather optimistic for the improvements we are likely to see in dcs when it rolls out. I understand the cautious approach and I expect there are other complexities in dcs that do not exist in xplane, however I feel this might be one of the most significant improvements to dcs we will have seen for a very long time. I’m already getting pretty good performance in dcs but would definitely love to squeeze out more. Additionally this will undoubtedly unleash other development possibilities for the general architecture of the whole system. Exciting times indeed for dcs and I’m very much looking forward to this.

Link to comment
Share on other sites

It is difficult enough to try and explain single core processes to people without an IT engineering background, let alone multicore/multithreaded. 

In really, really, easy to understand terms it's not as simple as offloading different tasks to different threads/cores. Those tasks have to be scheduled to work in tandem, or parallel to each other while at the same time TALKING and sharing RESULTS, and minimizing the wait time, so that the combined NET result of thread scaling is an actual performance gain

I can't stress how difficult this is to program and implement correctly. It's not just, oh offload it through Vulcan API or some such, that might work for an engine written to take advantage of these APIs, but in DCS World we can safely assume that significant parts of the DCS engine will need to be completely rewritten for this to become a thing. 

I would say that multicore support (at least initially) will bring very limited gains to DCS World. Keep your expectations in check people!


Edited by Lurker
  • Like 6

Specs: Win10, i5-13600KF, 32GB DDR4 RAM 3200XMP, 1 TB M2 NVMe SSD, KFA2 RTX3090, VR G2 Headset, Warthog Throttle+Saitek Pedals+MSFFB2  Joystick. 

Link to comment
Share on other sites

5 hours ago, Lurker said:

I would say that multicore support (at least initially) will bring very limited gains to DCS World. Keep your expectations in check people!

 

That really would be a problem, as BIGNEWY already said that Vulkan alone is "not the magic bullet", but the multicore development will have much better gains. Now if gains with the multicore would be minimal, then the whole Vulkan+Multicore rewrite would not worth even a slight work, not to mention 5 years (!) of work. So I hope that the gains will be huge.

  • Like 1
  • PC: 10700K | Gigabyte Z490 | Palit 3090 GamingPro | 32GB | Win10
  • HMD: HP Reverb G2 | OpenXR @ 120% | OpenXR Toolkit: exposure, brightness, saturation | DCS 2.9: DLAA with Sharpening 0.5 (no upscaling)
  • Controllers: VKB Gunfighter MkIII base & 200 mm curved extension center mounted + TM F16 Grip / MCG Pro Grip | TM TFRP
Link to comment
Share on other sites

10 hours ago, Lurker said:

I can't stress how difficult this is to program and implement correctly.

Why do you think it's taken five years? It's ED taking their time to do it correctly. It's difficult, and probably involves a lot of drudgery, and a lot of things need to get rewritten, so it takes a lot of time. That it's not some half-baked retrofit, but a major engine overhaul., and the "early stage" you're talking about has already happened - behind ED's closed doors, as they're still working on stuff. When it finally hits public beta, I do think gains will be large with multicore, simply because the sim will stop trying to do everything on a single core, while the other sit idle.

Vulkan will likely make a major difference in specific cases, such as VR, and also result in a modest performance gain across the board. Even those specific cases will be more due to refactored code than Vulkan itself, but either way, things should get better.

Of course, the thing I dread the most are bugs. The cloud overhaul is great, except for all the problems in VR. I'm afraid the new overhaul will also introduce issues that will be hard to iron out. It might fix bugs, but more likely than not, it'll introduce a bunch of them. Not a reason to give up on multicore, but a good reason not to rush it.

Link to comment
Share on other sites

I completely understand why ED always refuses to give any ETA on the engine rewrite project. To avoid the bugfest it's a must to thoroughtly test the whole engine. I personally think that it would be a real shame for a new, hypothethic "DCS 3.0.0" to debut with some parts worse than the current one even temporarily. I vote for the longer test in this case and even more test before going OB.

According to the last drops of info I'm not expecting the new engine debut before mid summer / autumn at the best, if everyting goes perfectly.

Which nowadays is not the case, unfortunately...

  • Like 1
  • PC: 10700K | Gigabyte Z490 | Palit 3090 GamingPro | 32GB | Win10
  • HMD: HP Reverb G2 | OpenXR @ 120% | OpenXR Toolkit: exposure, brightness, saturation | DCS 2.9: DLAA with Sharpening 0.5 (no upscaling)
  • Controllers: VKB Gunfighter MkIII base & 200 mm curved extension center mounted + TM F16 Grip / MCG Pro Grip | TM TFRP
Link to comment
Share on other sites

Perhaps this overhaul will be enough of a reason to re-introduce an alpha-branch: DCS 3.0 alpha once it becomes stable enough could then become DCS 3.5, similar to what they did with 2.0 and 2.5?
I agree it will need thorough testing in an open environment, given the amount of system configurations the playerbase got. And yes, obviously there will be issues that need to be ironed out but that's why alpha/beta branches exist.

Spoiler

Ryzen 9 5900X | 64GB G.Skill TridentZ 3600 | Gigabyte RX6900XT | ASUS ROG Strix X570-E GAMING | Samsung 990Pro 2TB + 960Pro 1TB NMVe | HP Reverb G2
Pro Flight Trainer Puma | VIRPIL MT-50CM2+3 base / CM2 x2 grip with 200 mm S-curve extension + CM3 throttle + CP2/3 + FSSB R3L + VPC Rotor TCS Plus base with SharKa-50 grip mounted on Monstertech MFC-1 | TPR rudder pedals

OpenXR | PD 1.0 | 100% render resolution | DCS "HIGH" preset

 

Link to comment
Share on other sites

Community feedback isn't that useful during alpha. In fact, "proper" alpha testing is what devs do when booting up the program after fiddling with it, to see what they broke this time. No, the earliest phase where community testing is useful is beta, and even then, what we get are late betas, there's a closed testing period before that. OB lets them iron out stuff that only comes up on weird hardware and huge servers, which, ideally, should be the only issues remaining in the OB.

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

Perhaps someone (maybe @TheSniperFan or @Lurker ) who knows something about the coding DCS is likely to be moving to versus what we’re currently on as they progress multi core could answer the following question for me:

Will the continued rollout of new mods and various other changes to DCS be likely to impede the transfer to multicore and or Vulcan? 

I don’t ask by way to criticise, there’s always so many things that need to be done especially if you wish to keep the income stream rolling in but I am, like so many, speculating about what sort of delay we may be waiting on. I’m really happy with the direction or DCS and just keen to see what’s next. 


Edited by Willie Nelson

i7700k OC to 4.8GHz with Noctua NH-U14S (fan) with AORUS RTX2080ti 11GB Waterforce. 32GDDR, Warthog HOTAS and Saitek rudders. HP Reverb.

Link to comment
Share on other sites

On 2/16/2022 at 12:15 PM, scampaboy said:

How do you do this? I’ve got cores and ram coming out of my ears 

 

On 2/16/2022 at 12:59 PM, Mr_sukebe said:

- Within your missions, ensure that the aircraft you want to fly are "clients" and not "pilots"

- Download and install the dedicated server (currently around 135GB, but it'll copy the files from your client, so will be fast)

- Run the dedicated server.  If you look in these forums, there's a good set of guidelines on how to do that.  It's not hard, but you'll need to remember to open the appropriate ports with your router

- Add some of your missions into the dedicated server mission list

- Run the mission your want to fly using the dedicated server

 - Start your DCS client

 - Go into multiplayer and login to your own server

Jobs a good un'!

The lazy way to create a DCS server with the same build is to simply create a new DCS shortcut (or copy paste a new one) -->right click on shortcut --> properties -->shortcut tab --> put "--server --norender -w DCS.server1" at the end of the "Target:" box, so it would look like this:

"E:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin\DCS.exe" --server --norender -w DCS.server1

This creates a new folder in the windows saved games folder called DCS.server1.  To open the server GUI, browse to E:\Program Files\Eagle Dynamics\DCS World OpenBeta\WebGUI and open the index.html file.  Making a shortcut for the index.html GUI file makes it simpler to access, or use something like a Stream Deck like what I use.  You can get fancy and change the shortcut icon to distinguish it from the regular DCS build too.

I think the first time you try to run it, it might say can't run the same build or something, but once it creates that folder it should work the second time.


Edited by Chaos_Out
  • Like 1

5900x | 3090 | HP Reverb G2

Link to comment
Share on other sites

"Perhaps someone (maybe @TheSniperFan or @Lurker ) who knows something about the coding DCS"

LOL

Nvidia RTX3080 (HP Reverb), AMD 3800x

Asus Prime X570P, 64GB G-Skill RipJaw 3600

Saitek X-65F and Fanatec Club-Sport Pedals (Using VJoy and Gremlin to remap Throttle and Clutch into a Rudder axis)

Link to comment
Share on other sites

  • 1 month later...

In addition to the topic of this thread, it would now also be very interesting to see how the new 5800X3D CPU stacks up. If DCS is able to take advantage of the cache onboard then the gains could be significant. It seems that not all games can make full use of the additional cache however.

Link to comment
Share on other sites

My understanding is that DCS runs on Lua virtual machines.  They have not indicated they are changing that anytime soon.  If you want to think about how they could possibly use multiple cores, then you should read up on scaling Lua.  Coroutines are the components used to scale in Lua 5.0 and up.  VM's in my experience (JVM's) don't scale to multiple cores.  When I was spec'ing non-Intel hardware for JVM's, I would spec one core for the VM, and one for the OS.  This was a few years ago though, so I may be out of date. 😎


Edited by Glide
Link to comment
Share on other sites

  • Wags changed the title to Multi Core Discussion
  • Wags pinned this topic
  • 2 months later...

I highly doubt rendering is done with Lua. 🙂 Avionics logic might be and mission scripting is definitely Lua, but neither accounts for most of the performance problems with DCS. The AI is where the bottleneck is, followed closely by rendering certain effects that can't be handled entirely by the GPU. Even if AI is done with Lua, if you can put AI on one core, rendering on another and mission+cockpit scripting on the third one, you'll have a major win, since the two big CPU eaters would each have a core all to themselves. I suspect it's vastly more complicated, though.

Link to comment
Share on other sites

If it wasn't we'd already have it.

I hope till 2025..

  • Like 1

Gigabyte Aorus X570S Master - Ryzen 5900X - Gskill 64GB 3200/CL14@3600/CL14 - Asus 1080ti EK-waterblock - 4x Samsung 980Pro 1TB - 1x Samsung 870 Evo 1TB - 1x SanDisc 120GB SSD - Heatkiller IV - MoRa3-360LT@9x120mm Noctua F12 - Corsair AXi-1200 - TiR5-Pro - Warthog Hotas - Saitek Combat Pedals - Asus PG278Q 27" QHD Gsync 144Hz - Corsair K70 RGB Pro - Win11 Pro/Linux - Phanteks Evolv-X 

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
  • 3 weeks later...
On 9/9/2022 at 5:43 PM, Tom Kazansky said:

multi-threading is in early testing.

Running multi-threading and assigned the dedicate cores?  Just wondering....  Thanks.

Dell XPS 9730, i9-13900H, DDR5 64GB, Discrete GPU: NVIDIA GeForce RTX 4080, 1+2TB M.2 SSD, TM HOTAS Warthog/TPR, TKIR5/TrackClipPro, Win 11 Pro

Link to comment
Share on other sites

  • 2 weeks later...

I saw a screenshot of a reply to a YouTube video or tweet (can't remember and can't find it quite yet) that said it was in closed beta at the moment.  @BIGNEWY, is this a myth/doctored post?  I feel like that would be something that would be highlighted extensively in dev updates if it were true.

Link to comment
Share on other sites

33 minutes ago, skins45 said:

I saw a screenshot of a reply to a YouTube video or tweet (can't remember and can't find it quite yet) that said it was in closed beta at the moment.  @BIGNEWY, is this a myth/doctored post?  I feel like that would be something that would be highlighted extensively in dev updates if it were true.

No, that statement is around this very same thread just probably buried deep down several pages earlier. We all have seen and know that, it was said like around December (to say something, would recall exact date).

  • Like 1

"I went into the British Army believing that if you want peace you must prepare for war. I believe now that if you prepare for war, you get war."

-- Major-General Frederick B. Maurice

Link to comment
Share on other sites

I just hope that people understand multicore support will not be the holy grail many seem think it will be. It should improve things somewhat, but that's about it.

  • Like 1

PC: i7 8700k 32GB DDR4 3200 Mhz  RTX 3070 Ti Hotas Warthog Thrustmaster TPR Track ir 5 Bodnar BBI-32 Beyerdynamic DT-770 Pro Focusrite Scarlett 18i20 Lewitt LCT 240 Pro
Jets: A-10A A-10C Warthog A-10C II F-14 Tomcat F-16C Viper F-5E Tiger II F/A-18C Hornet F-15C Su-33 MiG-29 F-86F Sabre 
Choppers: AH-64D Mi-8MTV2 UH-1H Huey Black shark 2 Maps: Nevada Normandy Persian gulf Syria The Channel 
WW2: BF-109 K4 Fw 190 D-9 Dora Mosquito FB VI P-51D Mustang Spitfire LF Mk. IX  Other: Supercarrier WWII Assets Pack NS 430 Navigation System Combined Arms 

Link to comment
Share on other sites

9 minutes ago, Tenebrae Aeternae said:

I just hope that people understand multicore support will not be the holy grail many seem think it will be. It should improve things somewhat, but that's about it.

Weil, I hope it makes the RTX 4090 the new bottleneck. And maybe the RTX 5090 too. 😉

  • Like 1
Link to comment
Share on other sites

1 minute ago, Tom Kazansky said:

Weil, I hope it makes the RTX 4090 the new bottleneck. And maybe the RTX 5090 too. 😉

Pretty unlikely, unfortunately.

PC: i7 8700k 32GB DDR4 3200 Mhz  RTX 3070 Ti Hotas Warthog Thrustmaster TPR Track ir 5 Bodnar BBI-32 Beyerdynamic DT-770 Pro Focusrite Scarlett 18i20 Lewitt LCT 240 Pro
Jets: A-10A A-10C Warthog A-10C II F-14 Tomcat F-16C Viper F-5E Tiger II F/A-18C Hornet F-15C Su-33 MiG-29 F-86F Sabre 
Choppers: AH-64D Mi-8MTV2 UH-1H Huey Black shark 2 Maps: Nevada Normandy Persian gulf Syria The Channel 
WW2: BF-109 K4 Fw 190 D-9 Dora Mosquito FB VI P-51D Mustang Spitfire LF Mk. IX  Other: Supercarrier WWII Assets Pack NS 430 Navigation System Combined Arms 

Link to comment
Share on other sites

7 minutes ago, Tenebrae Aeternae said:

Pretty unlikely, unfortunately.

I saw VR benchmark videos in this forum where this was already the case but without heavy AI. So if multicore does not reduce CPU frame times in those conditions by a good margin I would be disappointed.


Edited by Tom Kazansky
  • Like 2
Link to comment
Share on other sites

1 hour ago, skins45 said:

I saw a screenshot of a reply to a YouTube video or tweet (can't remember and can't find it quite yet) that said it was in closed beta at the moment.  @BIGNEWY, is this a myth/doctored post?  I feel like that would be something that would be highlighted extensively in dev updates if it were true.

Bignewy has written a couple of times that multicore is currently in internal testing. 

  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

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