Jump to content

[MERGED] DirectX 11/12, OpenGL, VulkanAPI Discussion


Recommended Posts

Probably we get a +40% FPS improvement from a new graphic card generation earlier than Vulkan in DCS. So time works for us anyways. ;)

 

 

 

Unlikely...

Dcs is mostly cpu bound in scenarios with many AI units and scripts going on...

A new gpu won’t help there

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽 Meta Quest 3  🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, F-15EX Throttle, MFG Crosswinds v3, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

Graphically we are plateaued, what now here and there some bugs cause performance issues.

 

But the CPU is serious limitation because script engine is just bad, we run unnecessary things for each AI unit that gets added etc.

 

So could the Vulcan come to help? Certainly if it can give override to graphics to run at maximum performance while CPU is crunching the scripts for AI.

 

Now if the CPU does anything else at all than the player aircraft, it starts to affect graphics.

So AI shoots another AI in 200 km away and your FPS drops because that.

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

14 days max

PC: i7 9700K, 32 GB RAM, RTX 2080 SUPER, Tir 5, Hotas Warthog Throttle, VPC MongoosT-50CM2 Base with VPC MongoosT-50CM2 Grip, VKB-SIM T-RUDDER PEDALS MK.IV. Modules : NEVADA, F-5E, M-2000C, BF-109K4, A-10C, FC3, P-51D, MIG-21BIS, MI-8MTV2, F-86F, FW-190D9, UH-1H, L-39, MIG-15BIS, AJS37, SPITFIRE-MKIX, AV8BNA, PERSIAN GULF, F/A-18C HORNET, YAK-52, KA-50, F-14,SA342, C-101, F-16, JF-17, Supercarrier,I-16,MIG-19P, P-47D,A-10C_II

Link to comment
Share on other sites

It´s "major" since december 2017 that was announced. 2,5 years passed. In 2018 I remembersaid that were adjusting the shaders...

 

Yeah, but Vulkan might not be the only thing they're working on.

Modules I own: F-14A/B, Mi-24P, AV-8B N/A, AJS 37, F-5E-3, MiG-21bis, F-16CM, F/A-18C, Supercarrier, Mi-8MTV2, UH-1H, Mirage 2000C, FC3, MiG-15bis, Ka-50, A-10C (+ A-10C II), P-47D, P-51D, C-101, Yak-52, WWII Assets, CA, NS430, Hawk.

Terrains I own: South Atlantic, Syria, The Channel, SoH/PG, Marianas.

System:

GIGABYTE B650 AORUS ELITE AX, AMD Ryzen 5 7600, Corsair Vengeance DDR5-5200 32 GB, Western Digital Black SN850X 1 TB (DCS dedicated) & 2 TB NVMe SSDs, Corsair RM850X 850 W, NZXT H7 Flow, MSI G274CV.

Peripherals: VKB Gunfighter Mk.II w. MCG Pro, MFG Crosswind V3 Graphite, Logitech Extreme 3D Pro.

Link to comment
Share on other sites

Yeah, but Vulkan might not be the only thing they're working on.

 

I would expect that we see DCS 3.0 when the Vulcan comes out. With almost everything redone. New weather, new targeting systems, new AI, dynamic campaign, new graphics engine, new terrain engine, all of it.

 

As they are working all of those things, and if you are going to poke the core completely for one thing, it is better to do it for all things at once, so you don't need to make new operations for each of them.

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

I would expect that we see DCS 3.0 when the Vulcan comes out. With almost everything redone. New weather, new targeting systems, new AI, dynamic campaign, new graphics engine, new terrain engine, all of it.

 

As they are working all of those things, and if you are going to poke the core completely for one thing, it is better to do it for all things at once, so you don't need to make new operations for each of them.

 

Agreed.

Modules I own: F-14A/B, Mi-24P, AV-8B N/A, AJS 37, F-5E-3, MiG-21bis, F-16CM, F/A-18C, Supercarrier, Mi-8MTV2, UH-1H, Mirage 2000C, FC3, MiG-15bis, Ka-50, A-10C (+ A-10C II), P-47D, P-51D, C-101, Yak-52, WWII Assets, CA, NS430, Hawk.

Terrains I own: South Atlantic, Syria, The Channel, SoH/PG, Marianas.

System:

GIGABYTE B650 AORUS ELITE AX, AMD Ryzen 5 7600, Corsair Vengeance DDR5-5200 32 GB, Western Digital Black SN850X 1 TB (DCS dedicated) & 2 TB NVMe SSDs, Corsair RM850X 850 W, NZXT H7 Flow, MSI G274CV.

Peripherals: VKB Gunfighter Mk.II w. MCG Pro, MFG Crosswind V3 Graphite, Logitech Extreme 3D Pro.

Link to comment
Share on other sites

It´s "major" since december 2017 that was announced. 2,5 years passed. In 2018 I remembersaid that were adjusting the shaders...

 

Info was show on the 2020 and Beyond Newsleter

https://forums.eagle.ru/showpost.php?p=4168367&postcount=233

Vulkan API Support

 

In order to improve game performance, particularly in VR and take advantage of today’s hardware, we have been working on the integration of the Vulkan API into DCS World over the past year. This is an important undertaking, but we believe it will be well worth the end-results.

Link to comment
Share on other sites

Not adjusting, rewriting.

 

Not exaclty rewriting...

 

https://forums.eagle.ru/showthread.php?p=3592186&highlight=vulkan#post3592186

 

By WAGS (in 2018): "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."

Link to comment
Share on other sites

Info was show on the 2020 and Beyond Newsleter

https://forums.eagle.ru/showpost.php?p=4168367&postcount=233

 

Well, half a year back that was an intersting Information, indeed. But as said...hald a year ago. Would be nice to know where they are now and how they progress, wouldn´t it?

DCS-Tutorial-Collection       

BlackSharkDen - Helicopter only

Specs:: ASrock Z790 Pro RS; Intel i5-13600K @5,1Ghz; 64GB DDR5 RAM; RTX 3080 @10GB; Corsair RMX Serie 750; 2x SSD 850 EVO 1x860 EVO 500GB 1x nvme M.2 970 EVO 1TB; 1x nvme M.2 980 Pro 2TB+ 3 TB HDD

Hardware: Oculus Rift S; HOTAS Warthog; Saitek Rudder Pedals, K-51 Collective

Link to comment
Share on other sites

Graphically we are plateaued, what now here and there some bugs cause performance issues.

 

But the CPU is serious limitation because script engine is just bad, we run unnecessary things for each AI unit that gets added etc.

 

So could the Vulcan come to help? Certainly if it can give override to graphics to run at maximum performance while CPU is crunching the scripts for AI.

 

Now if the CPU does anything else at all than the player aircraft, it starts to affect graphics.

So AI shoots another AI in 200 km away and your FPS drops because that.

 

 

Just to clarify.

The thing that bogs down our CPUs are not necessarily scripts, AI, or even simulating the aircraft. It's mostly a thing called "draw calls" - in a nutshell a command generated by the CPU that tells the GPU what to do. The more objects you have on the screen the more draw calls need to be generated by the CPU.

 

You can read more about them here: https://medium.com/@toncijukic/draw-calls-in-a-nutshell-597330a85381

 

 

 

 

Now, to the OP, I wouldn't count on Vulcan to significantly improve performance. I'd consider a 20% boost a huge success.

Link to comment
Share on other sites

Info was show on the 2020 and Beyond Newsleter

https://forums.eagle.ru/showpost.php?p=4168367&postcount=233

 

This is the first time we know knowledge of Vulkan API implementation:

 

https://forums.eagle.ru/showthread.php?t=196539

 

28/11/2017 by Wags: "We are also developing our engine to take advantage of the Vulcan API to further improve game performance. Having a great looking game is moot if it does not perform well.". more than 2,5 years passed with none informtion appart that "we are working on it - YEAR AFTER YEAR, in december/january -" and "we are moving shaders". Such comments in 2,5 years is no acceptable to the community, even thinking in my case and looking the money I spent in this SIM and many modules / terrains, at least they could say that really "is not implemented anything" (in the current situation I doubt that ED even started to working in this engine, so many promise broken, weather, clouds by end 2019... its very frustating).


Edited by Gryzor
Link to comment
Share on other sites

 

Now, to the OP, I wouldn't count on Vulcan to significantly improve performance. I'd consider a 20% boost a huge success.

 

Agreed, another sim using vulkan has had very little fps increase. All they have is FAR longer load in times, less stuttering because of the exceptionally long and large load in, and some god awful shadows rendering.

 

No thanks...

Link to comment
Share on other sites

Vulkan???

 

Just to clarify.

The thing that bogs down our CPUs are not necessarily scripts, AI, or even simulating the aircraft. It's mostly a thing called "draw calls" - in a nutshell a command generated by the CPU that tells the GPU what to do. The more objects you have on the screen the more draw calls need to be generated by the CPU.

 

You can read more about them here: https://medium.com/@toncijukic/draw-calls-in-a-nutshell-597330a85381

 

 

 

 

Now, to the OP, I wouldn't count on Vulcan to significantly improve performance. I'd consider a 20% boost a huge success.

 

 

 

Sure...but the more units on the scenes, the more poligons, the more draw calls...put it all together with the simulation engine, the AI the Scripting (all on that tiny lonely CPU core) and you have many answers...

You can experiment with mission editor and scripting very easily to see what really taxies the CPU frametimes...

 

About Vulkan

Last time we heard they were re-writing shaders and i have not any idea on when it will be done or how heavy is this task (i guess it is quite heavy)...in the last patches they got something in to improve CPU so probably Vulkan is not the only ace in the sleeve here.

Probably we will see other improvements and then Vulkan

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽 Meta Quest 3  🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, F-15EX Throttle, MFG Crosswinds v3, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

"Transfering Shaders" does not mean Copy/Paste, they would need to be re-written.

 

A Little Recap for those that think DX11 -> Vulkan will not help with FPS.

 

DCS 2.x / 1.5+ Uses DirectX11_0

DCS 1.2.16- Uses DirectX9_0

 

DirectX9c is a High Overhead API

DirectX11 is a High Overhead API

OpenGL is a High Overhead API

DirectX12 is a Low Overhead API, DirectX 12 was developed from Scratch by MS to Combat Low Overhead APIs (Vulkan, Mantle)

Vulkan is a Low Overhead API, Vulkan was developed from AMD Mantle.

 

 

What's Overhead?

Overhead is the Amount of CPU Processing Required to Process Graphics Commands by the API before being sent to GPU.

 

What's an API?

Programming Interface, which translates Instructions into a universal format recognized by all GPU Vendors.

 

Back in the 90s, for example, we had SEVERAL GPU Specific APIs and Architectures..

ATi (CiF),

nVidia (NV1),

SiS (S3D),

3DFx (Glide),

Matrox (MSi), and about half a dozen generic Brands (Trident (3Di/Blade), etc etc etc.

 

For Game Company Developers, it was very costly to develop separate engines to run on all these different Architectures.

 

Enter UniVBE/VESA for High resolution DoS Games, and DirectX and OpenGL for Windows.

 

OpenGL was Cross Platform (Windows, Mac, Linux etc)

DirectX was Windows Only.

 

What these APIs allow is for the developer to develop an Engine to Run on the API, by sending API Specific Commands from the Game's Engine to the API, the API Then Processes the Command and sends the GPU Specific Command to the GPU, which requires a CPU Thread to Process the Commands.

 

As DirectX Developed, and included more features/functions, a Single DirectX Thread was easily capable of causing CPU Overhead, meaning the DirectX Process had so much data to process, that it would start to fall behind, and cause delay / lag in sending commands to the GPU, which causes Stuttering, FPS Drops and even screen freezes, up to driver crashing.

 

 

Early On, Game Developers retained 3DFX / Glide Rendering side by side w/ either DirectX or OpenGL, Glide Offered Significant performance increase for 3DFX Graphics Card Owners, since it was a Low Level Direct-To-Metal API, Instructions from the graphics engine were sent directly to the GPU, leaving the CPU 100% Available for processing other threads. (Physics, AI, Sound, etc).

 

After a while, Multi-Core CPUs became the mainstay and Direct-To-Metal APIs no longer had an Advantage, and 3DFx Fell behind in R&D, and ATi/nVidia Soon where the only Major 3D Graphics Vendors Left (nVidia Bought 3DFx for access to IP and Multi-GPU Tech in the late 90s)

 

(Direct to Metal API's remained in use on Gaming Consoles, since they had a fixed hardware set).

 

So from 2000s-2010, nVidia and AMD both Conformed to Microsoft's DirectX API's and OpenGL API.

Enter 2011, When AMD Realized through several Articles, that DirectX was a CPU Hog entering the Generation of Ultra Realistic Graphics and High Object Count Scenes, the more commands DirectX had to process, the more the Single DirectX Thread would fall behind regardless of how many cores a User had in their system.

 

So AMD Starting w/ HD7000 Series GPU's and GCN1.0 GPUs/APUs, AMD Developed a Low-Overhead API Named Mantle as a Technology Demonstration designed to push MS and Kronos into developing Low Overhead APIs themselves.

 

Mantle saw mixed results, as some developers quickly patched their Graphics engines to use it, but did not code or optimize the engines to use it correctly.

 

Microsoft tried to Patch DX11 to be Multi-threaded as a stop gap to bypass CPU Overhead on a Single Thread. (Which only Offered Little to no returns)

 

Microsoft and Kronos both saw the promise in returning to Low-Overhead APIs, since there are now only 2 GPU Vendors using similar technology of stream processors/CUDA Cores (individual micro-math cores) (compared to over a dozen different architectures in the 90s), There's no need for a Big Beefy Driver Layer anymore, Let the GPU's Run the way they are now designed.

 

Microsoft Started to Work on DirectX12 from Scratch, Kronos on GL-Next.

 

AMD Realizing that a API Locked to a Specific Graphics Manufacturer was doomed to fail (Basically Glide (3DFx), and instead halted development and Donated the Mantle API to Khronos, who used it to Develop Vulkan.

 

 

So Enter DX12 and Vulkan into the Modern Day Low Level APIs.

 

 

Why is ED going with Vulkan instead of DX12?

 

Well I cannot say, But I can Speculate Conclusively the Benefits of Vulkan over DX12.

 

1. The DX11 -> DX12 transition/conversion, is not as simple as Microsoft Makes it, and any quick Conversion, would still have the same performance as DirectX11_0.

 

2. DirectX 12, is Limited to Windows 10 Only, Vulkan runs on Android, Linux, Tizen, Windows 7, Windows 8, and Windows 10 (third-party support for iOS and macOS is also available). (Plugin for Metal)

 

3. Vulkan has demonstrated to be very efficient in High Object Count Rendering Scenes (ie Flight Sims w/ Large View Distances), DirectX12, Not So Much

 

Choosing DX12, would Shut Out Windows 7 and Windows 8 Users, Vulkan would allow those users to continue to use DCS.

 

Although a DX12 offers a DX11_0 Compatibility Mode, ED would then be forced to develop a GFX Engine to Run both DX11 Commands as well as DX12, limiting the DX12 Engine to the same Performance w/ Little to no gains, and a bigger budget and 2 separate GFX Engines to Manage.

 

3. mGPU, While Both API's No Longer Need SLi/CrossFireX Drivers/Support from AMD/nVidia,

Vulkan's mGPU Modes work better than DX12's Implicit/Explicit/Linked/Unlinked Modes.

 

Both API's Offer resource Pooling (ie 2x 8 GB GPUs will show a a single 16GB GPU). Vulkan's just works better, a lot of developers are having issues w/ DX12's MGPU Modes.

 

 

 

 

Vulkan Shines w/ Engines that have HIGH Object Counts and Large View Distances, as those are the items that have the highest CPU Overhead, and Cause the Bottleneck with the DX8,DX9, DX10, DX11 And OpenGL Engines.

 

The More Objects, the more draw calls, the more draw calls, the more work the CPU has to process before sending commands to the GPU, the longer the GPU Idles while waiting for said commands, the lower the overall CPU Usage Drops, the Lower the FPS.

 

You Remove the CPU from the Equation and have the GPU Process Everything Graphics related, then you no longer have that problem.

 

Engines that have short draw distances and lower object counts, dont have this bottleneck, and do not show large gains from switching to Vulkan or DX12 from DX11, For Example:

 

First/Third Person Shooters/RPGs (Especially Arcade Quick Shooters and Indoor Shooters), Cameras/viewpoints are Low to the ground, viewdistances are often very short due to scenery and map layout, objects are loaded as they enter a set distance from viewpoint or loaded in sections as you move from one to another.

 

Racing Games, (Camera/Viewpoints are low to the terrain, and viewdistances are no where near that of a flight simulator..)

 

Space Sims, Empty Space is Easy to render, especially when it's only a couple dozen ships and some debris w/ often medium viewdistances before objects are removed from the scene.

 

 

The Amount of Draw Calls pushed through DX11 by DCS just sitting in an airtcraft by itself is at least 10000x that (and many times alot more) of any other "Game" I launch when watching Memory and DirectX Debug Readout data.

 

 

Vulkan is able to fully utilize as many cores as your system has to process any CPU related commands, DirectX11, even with the "Mutli-Thread" Patch they (Microsoft) tried to add to it doesnt multi-thread very well if at all in most cases.

 

Vulkan also allows for multiple levels of parallel tasking, DirectX 11 does not. So while the DX11 would Normally process one command at a time to the GPU and make others wait, Vulkan would have commands and functions work in parallel, so for every GPU Cycle, Vulkan would allow the GPU to do more work.

 

 

 

But As I said, in a Sim Liek DCS, that Came from DirectX 9 to 11 Recently and has Scene Object Counts and Draw Calls Exceeding over 100,000 Per Frame in the buffer at times.

 

Removing the CPU Overhead from those draw calls and the delay / Performance hit they cause, would be astronomical.

 

Vulkan will allow Better Frame Rates on Low-Mid Level hardware, and Scale Greatly through the Mid-High and High-End Hardware, and Of Course VR where everything is rendered TWICE from 2 different viewports, so the draw calls are essentially doubled.

 

 

 

 


Edited by SkateZilla

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

Even a flight sim like X-Plane now supports the Vulkan API ... and benefits from its advantages.

https://www.pcgameshardware.de/X-Plane-11-Spiel-60675/News/Vulkan-API-1347192/

https://www.golem.de/news/x-plane-vulkan-api-verdoppelt-bildrate-auf-radeons-2004-147689.html

 

Please ED, finally move in here. New modules, new maps, ... completely irrelevant. This would give your customers a real advantage.

**************************************

DCS World needs the Panavia Tornado! Really!

**************************************

Link to comment
Share on other sites

Even a flight sim like X-Plane now supports the Vulkan API ... and benefits from its advantages.

 

https://www.pcgameshardware.de/X-Plane-11-Spiel-60675/News/Vulkan-API-1347192/

 

https://www.golem.de/news/x-plane-vulkan-api-verdoppelt-bildrate-auf-radeons-2004-147689.html

 

 

 

Please ED, finally move in here. New modules, new maps, ... completely irrelevant. This would give your customers a real advantage.

 

 

 

What part of the statement “they are working on it” is not so clear to you? :)

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽 Meta Quest 3  🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, F-15EX Throttle, MFG Crosswinds v3, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

  • ED Team

Hi all

 

We are wide awake thanks, Vulkan is being actively worked on. We indicated this in the 2020 road map.

 

It is a massive time consuming project, we hope to start internal testing towards the end of the year.

 

As soon as we can bring you news we will.

 

thanks

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

  • Recently Browsing   0 members

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