Jump to content

Vulkan API Discussion


snowsniper

Recommended Posts

7 hours ago, DigitalEngine said:

Thought I'd re-post this here, as its relevant to the topic.
Might it be that DCS - Multicore/Vulkan will be in 2022?

 


While VR went mainstream "After" the release of EDGE / DX11, EDGE/DX11 were in testing along side Rift DKs.

The Engine itself already supported multiple viewports and such, so it was only a matter of integrating the API to control said viewports.

The issue is DCS has evolved to a point where the draw call over head has a serious impact, especially in VR/Multi-Viewport setups.

  • Like 2

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

Apparently yes, since low-overhead APIs specialise in high draw call applications, such as flight simulators. There are several-year-old demos out there from an initial implementation of Vulkan, that shows that off: they have a slider where you can have thousands upon thousands of fish active on screen, and can compare the frame-rate difference with OpenGL.

  • Like 1
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

  • 2 weeks later...

Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3, Public Roadmap and Profiles

https://www.khronos.org/news/press/vulkan-reduces-fragmentation-and-provides-roadmap-visibility-for-developers

image.php?id=vulkan-13-2022&image=vulkan

I wouldn't be upset if 1.3 is the new target for DCS and we suffer a delay for that 😛 Let it be a blast when it finally comes.

Actually 1.3 is more about officialy confirming many of the existing optional extensions (features) as part of the core and required, so DCS could have already been using some of these extensions already. Dynamic rendering is highlighted, but how useful to DCS at this point it is, is out of my experience to speculate and guess. https://www.khronos.org/blog/streamlining-render-passes

On the other hand, some of the extensions are mainly about making it easier for development, not necessairly improving performance or adding new features, but it would mean with less hassle a speedier development can mean we would get the final result faster.

 

https://www.khronos.org/blog/vulkan-1.3-and-roadmap-2022

Quote

 

Vulkan 1.3

As you might expect, Vulkan 1.3 adds a range of features that are broadly implementable across actively supported hardware. In fact, any hardware that has an actively supported 1.2 implementation should be capable of supporting Vulkan 1.3 - but that hasn’t stopped us from packing in a bunch of interesting features, all of which are non-optional!

For example, VK_KHR_dynamic_rendering adds a streamlined path to start rendering - applications that can’t or don’t want to use subpasses do not need to create any render pass or framebuffer objects - significantly reducing application complexity! The Streamlining Render Passes blog goes into more detail, and bringing this option to Vulkan 1.3 helps ensure that it will be supported out of the box in future devices.

We’ve also added or required a number of features in Vulkan 1.3 that make managing pipeline compilation easier:

A few features that were previously optional in earlier versions of Vulkan are now required; notably buffer device address support, allowing developers to start using pointers across the ecosystem. There’s still work to do for supporting this in HLSL but tooling and GLSL users can take advantage of this already. Arm released a blog post explaining the ins and outs of this unique feature if you’re interested in learning more. Vulkan 1.3 also requires the Vulkan memory model, which improves guarantees made by the spec about atomic and synchronization primitives.

VK_EXT_subgroup_size_control added support for finer control over subgroups. In particular, it enables vendors to advertise multiple subgroup sizes, allows developers to select a particular subgroup size (where supported), and requires a defined mapping between subgroups and workgroups for aligned workgroup sizes. In Vulkan 1.3 any SPIR-V 1.6 compute shader will automatically get the defined mapping and variable subgroup size.

Higher level machine learning frameworks are increasingly executing models through Vulkan, and as a step to improve this acceleration path, we’ve added VK_KHR_shader_integer_dot_product to Vulkan 1.3. Machine learning algorithms should be able to use this in preference to manually implemented dot product functions and benefit from hardware acceleration of these instructions when available. Whether a given instruction is accelerated is exposed by the API to allow better per-device tuning.

Vulkan 1.3 also adds a number of minor improvements that make ecosystem support more consistent and enable future features such as VK_KHR_synchronization2, VK_KHR_maintenance4, VK_KHR_copy_commands2, VK_KHR_format_feature_flags2, and VK_EXT_texel_buffer_alignment.

For a full list of functionality added to Vulkan 1.3, please refer to the Vulkan 1.3 version appendix and feature requirements section in the Vulkan 1.3 specification.

 

 

 

 

https://www.phoronix.com/scan.php?page=article&item=vulkan-13-2022&num=1


Edited by Worrazen
  • Like 3

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

It's February!

I'm very much looking forward to this update, it's the bedrock of the whole experience going forward. The hardware requirements are fierce and upgrades rare and expensive!

Good luck ED, I hope all your commits are bug free 😄

  • Like 4
Link to comment
Share on other sites

They just keep telling us to wait patiently (and pay for new unreleased modules). I too would like to see a detailed report with specific milestones. My fear is that lua scripts cannot be multithreaded.

12900KF@5.4, 32GB DDR4@4000cl14g1, 4090, M.2, W10 Pro, Warthog HOTAS, ButtKicker, Reverb G2/OpenXR

Link to comment
Share on other sites

10 hours ago, TAW_Impalor said:

They just keep telling us to wait patiently (and pay for new unreleased modules). I too would like to see a detailed report with specific milestones. My fear is that lua scripts cannot be multithreaded.

Where that fear came from, any source?


Edited by stormrider
  • Like 1

Banned by cunts.

 

apache01.png

Link to comment
Share on other sites

1 hour ago, stormrider said:

Where that fear came from, any source?

It looks like the thread concept does not exist in lua natively. There are coroutines, but this is not what they need. According to the link below, it appears they would need to workaround this by launching multiple lua instances. Notice: I wrote some lua scripts, but I am by no means an expert.

https://stackoverflow.com/questions/6386717/lua-how-to-write-simple-program-that-will-load-multiple-cpus

 

Link to comment
Share on other sites

  • 2 weeks later...
4 hours ago, DigitalEngine said:

and that's DX12 w/ Multi-Threaded Rendering and Low Object Overhead.

Now Divide that DX12 number in half, and you'll get DX11 Numbers in High Object count rendering scenes.

  • Like 1

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

  • 3 weeks later...

Hi, a little is quiet about it. All in all, the new engine was supposed to be still in 2021, now we are in 2022 and at the end of the 1th quarter and we hear nothing about the new engine for DCS, which is so important for users, especially VR owners. Anything you know?

  • Like 4

Webmaster of http://www.yoyosims.pl

Yoyosimsbanner.gif

Win 10 64, i9-13900 KF, RTX  4090 24Gb OC, RAM 64Gb Corsair Vengeance LED OC@3600MHz,, 3xSSD+3xSSD M.2 NVMe, Predator XB271HU res.2560x1440 27'' G-sync, Sound Blaster Z + 5.1, TiR5, [MSFS, P3Dv5, DCS, RoF, Condor2, IL-2 CoD/BoX] VR fly only: Meta Quest Pro

Link to comment
Share on other sites

In general, backend work is really hard to write an interesting update on. There's no pretty screenshots, no real milestones that can be bragged about and nothing that would show up on video, because it's all hardware-dependent. It's a great big chunk of largely boring code, that must be refined through months of drudgery until it, essentially, gets to the same place we're in now, hopefully with higher performance. It seems that the work is coming to an end, but remember that 90% of the code takes up 90% of the project time, and the remaining 10% also takes 90% of the project time. 🙂 It seems that they're stuck on that last 10%. It'll get done, but don't expect any WIP pics. This is the kind of project where you just have to leave the coders alone to do their thing.

  • Like 2
Link to comment
Share on other sites

"This is the kind of project where you just have to leave the coders alone to do their thing."

What would you say is an appropriate period of time for writing the new code? What would be your decisions as a responsible product manager to speed up this important and overdue development step? As long as customers are not economically driven I suspect ED will not find a sufficient solution for their pace (I explicitly do not talk about the coders). Nevertheless, I will keep my finger crossed. 


Edited by Fastbreak
  • Like 2

System Components

Power supply: be quiet! Dark Power Pro 11 650W 80Plus Platinum <> Motherboard: Asus Rog Strix X570-E Gaming  <> Processor: Ryzen 5 5600x <> Cooler: DeepCool Gammaxx C40 <> RAM: 2x16GB HyperX Predator 3600Mhz <> SSD: 2x1TB Samsung 980 Pro NVMe M.2 (Raid 0) <> HD: 2TB Seagate BarraCuda <> Graphics card: Asus ROG Strix GTX 1080 Ti 11G Gaming <> Head tracking: TrackIR4 Pro <> dunTrackR <> Monitors: Philips bdm4065uc 40" 4K 3840x2160  (Camera) <> 2x IBM 15" 1024x768 (LMFCD & RMFCD)

Cockpit: self-construction <> Controls: Thrustmaster Hotas Warthog (extension for cyclic & collective control) <> Thrustmaster Rudder Control System <> Sound: Sound Blaster X-Fi Titanium <> Logitech Z-560 THX Sound System

"...Runways are for beauty queens!"

Link to comment
Share on other sites

29 minutes ago, Fastbreak said:

"This is the kind of project where you just have to leave the coders alone to do their thing."

What would you say is an appropriate period of time for writing the new code? What would be your decisions as responsible product manager to speed up this very important and overdue development step? As long as customers are not economically driven I suspect ED will not find a fast solution. Nevertheless, I will keep my finger crossed. 

Converting even relatively small projects from single-core to multi-core presents challenges, let alone an entire game engine. Concurrency alone is a major issue that you need a solid, competent design to deal with. Also, not every coding problem can be solved by throwing more developers at it. I'm afraid you're just going to have to be patient with this one, it's a major piece of work and there's no real way around that.


Edited by Malakhit
  • Like 3
Link to comment
Share on other sites

1 hour ago, Malakhit said:

Also, not every coding problem can be solved by throwing more developers at it.

Very few of them can be. Brook's law states: adding manpower to a late project makes it later. Tasks can only really be parallelized when they're largely independent of each other. If working on the core engine, that will rarely be the case. In fact, getting new personnel up to speed will inevitably bog down the team, who'll be onboarding the new members instead of working, and new members will take time to start contributing, nevermind offset the productivity loss from their training. In programming, a few good programmers are far better than a horde of poor ones, although it is not impossible to short-staff a team (which should be fixed fast, the further along the project is, the harder it is to bring new people up to speed).

1 hour ago, Fastbreak said:

What would you say is an appropriate period of time for writing the new code? What would be your decisions as a responsible product manager to speed up this important and overdue development step? 

As long as it takes. My decision would be to tell them to do it right the first time, however long it takes. Any fixes made after the fact will inevitably be hacks thrown together in a way that allows them to be implemented between patches, which is not optimal, since it might turn out that to fix an issue properly, it would require a significant overhaul of the system (I suspect that's what's preventing clouds from looking good in VR, for example). Nobody should ever look at the codebase and say "damn, I wish we've done it completely differently". If you don't do it right, or at least mostly right, the first time, then you'll pile on technical debt, leading to tradeoffs being made for every fix. Nothing good ever came from rushing things, the only time it's possible to really do things right is before the whole system gets deployed. Anything after that is patching the holes, sometimes it's no difference, most of the time the patch is weaker than the main structure.

I'm not a project manager, but I'm familiar enough with the matter to know the basics of IT development, mostly to my past involvement in modding other games.

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

Dear Malakhit, dear Dragon1-1,

I am sorry, I should have been more specific with my comment. From a higher-level business point of view, a company's has to be flexible enough to accomodate the changes in the market any time. Its business modell has to forcefully grow and optimise its internal structures with the objective of consistently directing towards its customer needs - especially in fast-growing markets with a large number of customers. The permanent adjustment of bussines development to the market is regarded as standard nowadays.  

This is my understanding from education in economic science and my experience of many years in the international sales and marketing where I have also been directly involved in the perpetual challenges of hardware development processes (nanotechnology, EBL and IBL systems) and its complex control and application software.

I have witnessed the hardships of our specialised developers and programmers in their daily endeavour to meet their deadlines that have been strongly influenced by the objectives of our business managers respectively our customers - oftentimes much to the chagrin of our executing experts.

Nevertheless, our customers and their demands have made our business running (and my salary) and so we have had to stay agile. We have been rarely able to afford the luxury of delaying development, bug-fixing or disorganisation. From day-to-day, from month-to-month and from year-to-year the complexity of our activities has grown and due to our success it has been essential to grow our internal structures, i.e. human resources, expertise, organisational measures, to the same degree. Statements like "As long as it takes." are very starry-eyed, planning at an early stage, accurately timed processes and projects, has been extremely strenuous for every colleague, but it has not been an option, it has been a prerequisite to customised products, confiding customer relationship and sales revenue. I am also familar with incalculable factors that nonetheless of all optimising measures can come into being and lead into both unplaned situations and delays at customers' side at worst. With this background I daresay that I indeed am a customer with above-average patience who deems highest quality to be imperativ, too. I understand and agree your objections that it does not make sense at the moment to throw more staff at the new core engine to finish it, but I ask myself why ED takes so much time. Without insight into ED's internal organisation, and it ill behoves me to ask for it, I could only speculate about potential reasons (wine, women and song :censored: ?) why ED's work on Vulcan Vulkan/DX12/MultiCore apparently progresses slowly - despite of their long-standing experience. Once again, I am aware that ED's developers and programmers are not hired to wear themeselves out with their work to satisfy impatient fanboys, rather it is the management to know potential problems beforehand, to plan and to coordinate at the earliest to avoid problems at the best. After more than 13 years especially standing customers who do not only dabble in DCS should be able to benefit from significantly better organisation in form of punctual updates, bug-fixing, less promotion and more communication - transparent & informative, and EA periods that do not take several years - after all there are some users who past their prime... Me? No, never! :music_whistling:

 

 


Edited by Fastbreak

System Components

Power supply: be quiet! Dark Power Pro 11 650W 80Plus Platinum <> Motherboard: Asus Rog Strix X570-E Gaming  <> Processor: Ryzen 5 5600x <> Cooler: DeepCool Gammaxx C40 <> RAM: 2x16GB HyperX Predator 3600Mhz <> SSD: 2x1TB Samsung 980 Pro NVMe M.2 (Raid 0) <> HD: 2TB Seagate BarraCuda <> Graphics card: Asus ROG Strix GTX 1080 Ti 11G Gaming <> Head tracking: TrackIR4 Pro <> dunTrackR <> Monitors: Philips bdm4065uc 40" 4K 3840x2160  (Camera) <> 2x IBM 15" 1024x768 (LMFCD & RMFCD)

Cockpit: self-construction <> Controls: Thrustmaster Hotas Warthog (extension for cyclic & collective control) <> Thrustmaster Rudder Control System <> Sound: Sound Blaster X-Fi Titanium <> Logitech Z-560 THX Sound System

"...Runways are for beauty queens!"

Link to comment
Share on other sites

FYI 😜

”Vulkan” is an API

https://en.wikipedia.org/wiki/Vulkan

”Vulcan” is a Star Trek species

https://en.wikipedia.org/wiki/Vulcan_(Star_Trek)

  • Like 5

i9-13900K @ 6.2GHz oc | ASUS ROG MAXIMUS Z790 HERO | 64GB DDR5 5600MHz | iCUE H150i Liquid CPU Cooler | 24GB GeForce RTX 4090 | Windows 11 Home | 2TB Samsung 980 PRO NVMe | Corsair RM1000x | LG 48GQ900-B 4K OLED Monitor | CH Fighterstick | Ch Pro Throttle | CH Pro Pedals | TrackIR 5

Link to comment
Share on other sites

5 hours ago, SharpeXB said:

FYI 😜

”Vulkan” is an API

https://en.wikipedia.org/wiki/Vulkan

”Vulcan” is a Star Trek species

https://en.wikipedia.org/wiki/Vulcan_(Star_Trek)

 

Mea culpa!  :notworthy:

System Components

Power supply: be quiet! Dark Power Pro 11 650W 80Plus Platinum <> Motherboard: Asus Rog Strix X570-E Gaming  <> Processor: Ryzen 5 5600x <> Cooler: DeepCool Gammaxx C40 <> RAM: 2x16GB HyperX Predator 3600Mhz <> SSD: 2x1TB Samsung 980 Pro NVMe M.2 (Raid 0) <> HD: 2TB Seagate BarraCuda <> Graphics card: Asus ROG Strix GTX 1080 Ti 11G Gaming <> Head tracking: TrackIR4 Pro <> dunTrackR <> Monitors: Philips bdm4065uc 40" 4K 3840x2160  (Camera) <> 2x IBM 15" 1024x768 (LMFCD & RMFCD)

Cockpit: self-construction <> Controls: Thrustmaster Hotas Warthog (extension for cyclic & collective control) <> Thrustmaster Rudder Control System <> Sound: Sound Blaster X-Fi Titanium <> Logitech Z-560 THX Sound System

"...Runways are for beauty queens!"

Link to comment
Share on other sites

  • Recently Browsing   0 members

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