Jump to content

Vulkan API Discussion


snowsniper

Recommended Posts

So what would happen if all the AI logic etc would be off-loaded to a two cores? One core per side? One core per side + one core per ground or air units? One extra core for all projectiles and explosions?

 

That's not how it works. Vulkan's advantage is purely about multi-threaded rendering. Everything slows down because rendering gets the lowest priority, when shared with everything else on the same thread. Everything else will likely stay exactly the same, but with render having access to alternate threads it won't have to wait its turn. Also it deals with large object counts better for the same reasons.

Link to comment
Share on other sites

The gains from going to Vulkan will hinge on whether the renderer will get one or ideally multiple threads separate from the physical simulation engine.


Edited by sobek

Good, fast, cheap. Choose any two.

Come let's eat grandpa!

Use punctuation, save lives!

Link to comment
Share on other sites

Vulcan is not to free up the CPU, it is to share the load from single or two core to all cores that CPU has.

 

The whole idea is to add a multi-core support for the graphic heavy games as currently it is all about single core performance for graphics in all games and this causes that all cores are just running low and GPU waiting when the single CPU core is processing, waiting a specific operation to finish before continuing to another operation.

And when the multi-thread support comes out, GPU gets full utilization as it doesn't need to wait a CPU and so on can run multiple different graphical elements parallel, instead linearly.

 

The current problem is not that we don't have CPU cycles, but we only use a fraction of them!

A DCS uses only two cores, one for a sound and one for everything else. So if you have a 8 core CPU, then you are really using only a 1/8 of the cores for the DCS (excluding the sound now). Now what you think would happen when a Vulkan allows one to utilize all 8 cores?

 

Vulkan is a Direct to Metal API, Meaning most of the commands are sent directly to the GPU, and not to a Software API Layer like DirectX ->11_2.

 

 

So instead of bogging down an entire CPU with DirectX Draw Calls, the GPU Instructions are sent directly to the GPU to process.

 

has nothing to do with Multi-Core Support, DX11_0 is Multi-threaded already.

Windows 10 Pro, Ryzen 2700X @ 4.6Ghz, 32GB DDR4-3200 GSkill (F4-3200C16D-16GTZR x2),

ASRock X470 Taichi Ultimate, XFX RX6800XT Merc 310 (RX-68XTALFD9)

3x ASUS VS248HP + Oculus HMD, Thrustmaster Warthog HOTAS + MFDs

Link to comment
Share on other sites

DX11's MT ability barely works as it hampered by additional overhead induced by secondary render threads still having to wait on the main render thread that's still stuck behind the rest of the engine. Some instances of attempting to leverage MT DX11 have shown negative scaling compared to ST. Multi-core support is still a significant factor of the API as has previously been displayed by Mantle scaling in performance with additional cores.

Link to comment
Share on other sites

Knowing how anti competitive Microsoft can be, I'm not blown away by the news of Vulkan like everyone else seems to be! I can't help being worried at how MS will respond by creating features that are required and intrinsic to the OS is some silly way like nearly every other tech we have fought for (cough... browsers). I was also wondering if this was some effort by ED to look at multiplatform OS for DCS:W ... Either of the tech trees are important to look at early, but it's a way down the road, the last engine update cost us two years waiting, and the visuals in DCS are way above the other issues in the Engine to have me personally panting for it. :)

 

Regarding multi platform OS, the last couple of DCS patches have included the QT programming tools. QT is a framework for multi OS. :music_whistling:

Link to comment
Share on other sites

Knowing how anti competitive Microsoft can be, I'm not blown away by the news of Vulkan like everyone else seems to be! I can't help being worried at how MS will respond by creating features that are required and intrinsic to the OS is some silly way like nearly every other tech we have fought for (cough... browsers). I was also wondering if this was some effort by ED to look at multiplatform OS for DCS:W ... Either of the tech trees are important to look at early, but it's a way down the road, the last engine update cost us two years waiting, and the visuals in DCS are way above the other issues in the Engine to have me personally panting for it. :)

 

The most obvious point behind Vulkan being chosen over DX12 is that it doesn't cut out users still on older versions of Windows, more so than say something like a Linux build. There isn't much Microsoft can do (legally) to stop the potential success of Vulkan that would hamper 3rd parties adoption of it. Like OpenGL has always been an option and works just fine on Windows, but most game Devs are likely to use DX if they are targeting Windows.

Link to comment
Share on other sites

Vulcan is not to free up the CPU, it is to share the load from single or two core to all cores that CPU has.

 

The whole idea is to add a multi-core support for the graphic heavy games as currently it is all about single core performance for graphics in all games and this causes that all cores are just running low and GPU waiting when the single CPU core is processing, waiting a specific operation to finish before continuing to another operation.

And when the multi-thread support comes out, GPU gets full utilization as it doesn't need to wait a CPU and so on can run multiple different graphical elements parallel, instead linearly.

 

The current problem is not that we don't have CPU cycles, but we only use a fraction of them!

A DCS uses only two cores, one for a sound and one for everything else. So if you have a 8 core CPU, then you are really using only a 1/8 of the cores for the DCS (excluding the sound now). Now what you think would happen when a Vulkan allows one to utilize all 8 cores?

 

 

Hmm, I don't think it's just about spreading the existing CPU load on multiple cores. It should also lower the amount of work the CPU does altogether, and in terms of draw calls I think it completely eliminates the CPU from having to be a babysitter.

 

pcper-2015-dx12-290x.png

 

VNiSduc.png


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

 

Link to comment
Share on other sites

https://www.gamingonlinux.com/articles/you-will-want-to-force-your-cpu-into-high-performance-mode-for-vulkan-games-on-linux.9369

 

I think there is some confusing when people talk about CPU load. In a single threaded scenario one core is worked really hard, vs multithread where spreading the load is potentially less taxing over a period of time from work getting done faster. Using more cores is more load on the CPU as a whole, but for less time.


Edited by blkspade
Link to comment
Share on other sites

Vulkan is a Direct to Metal API, Meaning most of the commands are sent directly to the GPU, and not to a Software API Layer like DirectX ->11_2.

 

So instead of bogging down an entire CPU with DirectX Draw Calls, the GPU Instructions are sent directly to the GPU to process.

 

has nothing to do with Multi-Core Support, DX11_0 is Multi-threaded already.

 

Nothing? Well... Then AMD disagree with you. As the point is exactly to off-load the single core requirement to multi-core.

 

 

 

And the results are not just via the GPU improvements, but as well far better CPU improvement.

 

khronos-vulkan-commandbuffer-slide.png

 

Vulkan-API_explicit-control.png

 

The problem is exactly the very common multi-threaded task programming. You can easily split any process to multiple threads and get them run on different cores, but extremely difficult is to get them work parallel instead in batch, so you don't benefit almost anything from multi-threaded programming when everything else is waiting one thing.

 

opengl-performance.jpg

 

AMD-Command-Buffer-DirectX-12.jpg

 

 

Vulkan, like the DirectX 12, are not just "direct to hardware" aka "improved driver stack". The Vulkan is just what the OpenGL was possible to be, but required very talented and skilled developer to write directly to hardware and write custom extensions for OpenGL.

 

DirectX just made things far easier and simpler for developers as they didn't need to care about hardware level stuff, and AMD supported always well OpenGL (and one reason why Apple used as well AMD cards because better OpenGL support, that many graphics demand applications like rendering farms, CAD etc utilized better than any games) and then made Mantle from it, that turned to be a Vulkan.

 

And Vulkan does the same thing by requiring developers to have more responsibility with hardware utilization, instead just locking to one stack and its limitations.

 

Vulkan as well allows AMD to finally start to benefit from their multiple CPU cores, instead suffering from single core performance that has been Intel advantage. So now when the Threadripper and AMD Ryzen are out, there is far more potential in those than Intel current i7 and i9 processors when it comes to graphics rendering.

i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.

i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

Link to comment
Share on other sites

Hmm, I don't think it's just about spreading the existing CPU load on multiple cores. It should also lower the amount of work the CPU does altogether, and in terms of draw calls I think it completely eliminates the CPU from having to be a babysitter.

 

Yes it does lover the amount of work by transferring the tasks that GPU is better, directly for it.

But its main benefit is that all CPU cores can be utilized simultaneously instead all cores waiting the slowest core.

 

It is like a highway, current multi-thread design is that there is 4 lines on both directions but all traffic max speed is limited to 80kph. So everyone is going by the slowest vehicle speed, and even slower when the one needs to slow down or one needs to even stop and all reacts to it.

 

Now the Vulkan is about to assign a every line a individual limitations. So line 1 doesn't need to care what line 4 does if it slows down. If one moment things slow down on one line, its traffic is moved to other lines and then keeps going until that line gets back to speed.

 

It is just to improve the processing by CPU limitations so CPU ain't holding back like it does now, but GPU gets the data faster and can perform better when the CPU has taken better care of tasks it can do better.

 

The point is, Vulkan is not just about GPU, it is a lot to do with the CPU. That is the whole point, Vulkan to improve a lot the last couple year CPU performance so the GPU cards can work even better.

i7-8700k, 32GB 2666Mhz DDR4, 2x 2080S SLI 8GB, Oculus Rift S.

i7-8700k, 16GB 2666Mhz DDR4, 1080Ti 11GB, 27" 4K, 65" HDR 4K.

Link to comment
Share on other sites

  • 7 months later...

Vulkan API

 

I've wanted to ask for some time, but I know the developers have their hands full with a thousand other things. But here it goes anyway: :-)

 

Could one of the ED Developers chime in on how Vulkan is actually going to be implemented into DCS? (and a bonus question: When?)

 

For example, does every object/model or effect's set have to be re-made in order to utilize the new system? started from scratch? etc. If not, how is Vulcan going to get into the DNA of our sim? I'm only interested in the hopes that we see some noticeable performance increase...especially in the area of, say, shadows.

 

Thanks!


Edited by wilbur81

i7 8700K @ Stock - Win10 64 - 32 RAM - RTX 3080 12gb OC - 55 inch 4k Display

 

 

Link to comment
Share on other sites

Vulkan is a Graphics API, It will replace DX11 as the Rendering API

Windows 10 Pro, Ryzen 2700X @ 4.6Ghz, 32GB DDR4-3200 GSkill (F4-3200C16D-16GTZR x2),

ASRock X470 Taichi Ultimate, XFX RX6800XT Merc 310 (RX-68XTALFD9)

3x ASUS VS248HP + Oculus HMD, Thrustmaster Warthog HOTAS + MFDs

Link to comment
Share on other sites

Hey Skate, is it actually replacing DX11 or just being added as another option?

 

The way I see, it will be replacing instead of going DX11 to --> DX12

 

From what I've been seeing with little testing, more threads are getting used even now, looks to me ED is getting prepped for valkan. I'm also guessing this also has to do with preparing DCS for dedi server perhaps.

i7-7700K OC @ 5Ghz | ASUS IX Hero MB | ASUS GTX 1080 Ti STRIX | 32GB Corsair 3000Mhz | Corsair H100i V2 Radiator | Samsung 960 EVO M.2 NVMe 500G SSD | Samsung 850 EVO 500G SSD | Corsair HX850i Platinum 850W | Oculus Rift | ASUS PG278Q 27-inch, 2560 x 1440, G-SYNC, 144Hz, 1ms | VKB Gunfighter Pro

Chuck's DCS Tutorial Library

Download PDF Tutorial guides to help get up to speed with aircraft quickly and also great for taking a good look at the aircraft available for DCS before purchasing. Link

Link to comment
Share on other sites

I've wanted to ask for some time, but I know the developers have their hands full with a thousand other things. But here it goes anyway: :-)

 

Could one of the ED Developers chime in on how Vulkan is actually going to be implemented into DCS? (and a bonus question: When?)

 

For example, does every object/model or effect's set have to be re-made in order to utilize the new system? started from scratch? etc. If not, how is Vulcan going to get into the DNA of our sim? I'm only interested in the hopes that we see some noticeable performance increase...especially in the area of, say, shadows.

 

Thanks!

 

Wags

"For the past several months, we have also been working on Vulkan API integration into DCS World, which we expect to result in a substantial performance boost." You can read the interview with Wags here

 

Vulkan API

 

DCS was first build when single core CPU's were the Norm, that means ED has been re-coding/separating some of the sim to utilize the Vulkan API where possible. There still are limits because of the way sim like DCS run, were everything has to talk together in real time (Bullet time / hits). I believe ED is separating the Graphics engine form the simulation Engine. This should make for big improvements hopefully. In VR I'm hoping too, for the when the next gen hits.

i7-7700K OC @ 5Ghz | ASUS IX Hero MB | ASUS GTX 1080 Ti STRIX | 32GB Corsair 3000Mhz | Corsair H100i V2 Radiator | Samsung 960 EVO M.2 NVMe 500G SSD | Samsung 850 EVO 500G SSD | Corsair HX850i Platinum 850W | Oculus Rift | ASUS PG278Q 27-inch, 2560 x 1440, G-SYNC, 144Hz, 1ms | VKB Gunfighter Pro

Chuck's DCS Tutorial Library

Download PDF Tutorial guides to help get up to speed with aircraft quickly and also great for taking a good look at the aircraft available for DCS before purchasing. Link

Link to comment
Share on other sites

We all waiting quite some time since the announce 9 months ago. It will be mentioned when it arrives. :D

New system:I9-9900KS, Kingston 128 GB DDR4 3200Mhz, MSI RTX 4090, Corsair H150 Pro RGB, 2xSamsung 970 EVO 2Tb, 2xsamsung 970 EVO 1 TB, Scandisk m2 500 MB, 2 x Crucial 1 Tb, T16000M HOTAS, HP Reverb Professional 2, Corsair 750 Watt.

 

Old system:I7-4770K(OC 4.5Ghz), Kingston 24 GB DDR3 1600 Mhz,MSI RTX 2080(OC 2070 Mhz), 2 * 500 GB SSD, 3,5 TB HDD, 55' Samsung 3d tv, Trackir 5, Logitech HD Cam, T16000M HOTAS. All DCS modules, maps and campaigns:pilotfly:

Link to comment
Share on other sites

We all waiting quite some time since the announce 9 months ago. It will be mentioned when it arrives. :D

 

These kinds of things take a ton of time to get working properly. I recommend concentrating on other things and then be surprised when it arrives.

 

 

Regards,

MikeMikeJuliet

DCS Finland | SF squadron

Link to comment
Share on other sites

  • ED Team

Base programming and testing should be finished next month. We'll then work on transferring our shaders to the new API. This is a very new technology for us, and it is quite possible that we will run into unforeseen issues during that phase. DCS World uses many complicated shaders that may not necessarily play nice with the Vulkan API.

 

Thanks!

Link to comment
Share on other sites

  • ED Team

Base programming and testing should be finished next month. We'll then work on transferring our shaders to the new API. This is a very new technology for us, and it is quite possible that we will run into unforeseen issues during that phase. DCS World uses many complicated shaders that may not necessarily play nice with the Vulkan API.

 

Thanks!

Link to comment
Share on other sites

Thanks for the info and good luck!

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Base programming and testing should be finished next month. We'll then work on transferring our shaders to the new API. This is a very new technology for us, and it is quite possible that we will run into unforeseen issues during that phase. DCS World uses many complicated shaders that may not necessarily play nice with the Vulkan API.

 

Thanks!

 

Wags, this is exactly the type of info I personally wanted to hear. Of note, many folks are basing hardware purchasing/budgeting decisions on the potential of getting more efficiency out of their gear, so knowing where things are in this area, even delays, is very much appreciated.

 

And yes, I do consider my expectations fairly managed!

 

Thank you!

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • Recently Browsing   0 members

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