DirectX 12

Hello, did you know where they said they will add DX12, can you post a link?

Originally they said that during an interview from the Global Preview event, you can check out the DirectX 12 statement at 17:20 in this video: https://www.youtube.com/watch?v=jpBCZvuRXog

And in this video by Digital Foundry, they said that the team informed them they would be upgrading the engine to DirectX 12 Ultimate with ray-tracing at some point: https://www.youtube.com/watch?v=AEkNQVWkgpc

1 Like

Many thanks for the links.
This news is from today:
Microsoft Adds DirectX 12 Feature-level 12_2, and Turing, Ampere and RDNA2 Support it
Let’s see if Microsoft Flight Simulator implement them soon enough.

https://www.anandtech.com/show/15637/microsoft-intros-directx-12-ultimate-next-gen-feature-set

2 Likes

I totally agree with you.

What’s really going to annoy people is when a lot of systems see Worse performance in DX12.

Hopefully they enable it as an option you can swap between.

It’s really important that you use the search function before creating topics in #self-service:bugs-issues and #self-service:wishlist as duplicate threads split peoples attention and their votes.

I’ve just merged and/or closed and redirected about five threads into this one. We are unable to merge votes from the now-closed threads, so please double-check the vote button at the top of this thread, if your vote has been lost re-apply your vote by clicking the button again.

3 Likes

While it wasn’t the best game, the most impressive experience I’ve had on PC prior to MFS was Death Stranding.

Their implementation of DLSS was incredible and my mouth waters thinking about having that quality AND performance available in MFS.

I can’t see how this will ever come to VR if someone like me with a RTX 2080 Ti and i9-9900K can’t even get consistent FPS without dropping down to potato graphics and resolution.

Keep up the hard work devs, I just think I can speak for everyone when I say we would love performance to be prioritized over anything else at this time and I’m a 787 lover :wink:

6 Likes

This is (to my understanding) almost completely false and a rumor that I have no idea where it started. Well, at least in the context of all the people that claim that “DX11 is limited to 4 cores.”

There is a little bit of truth in it, but only very little.

This link here is an article from Intel on CPU scaling with DX11. You can see here that it has no problem seeing benefits, even from 8 to 10 cores.

Later in the article, they describe:

When paired with the NVIDIA GeForce GTX 1080, multicore performance scales very well; performance increase is almost linear from 2 to 6 cores. Even from 6 to 10 cores, the performance increase is significant. When paired with AMD Radeon RX Vega 64, the scalability is worse than that; especially when the number of CPU cores exceeds 4, the performance increase is almost negligible.

Why does the test program have such a large scalability difference for multicore performance on different GPUs? We used Microsoft GPUView* to capture the multithreaded activities of the test program (see Figure 4), and find that the bottleneck of the test program is on the CPU with either the NVIDIA GeForce GTX 1080 or the AMD Radeon RX Vega 64 GPU. However, multithreaded concurrency is better with the NVIDIA GPU, and the main thread blocking working threads is significantly longer with AMD graphics cards.

On the AMD GPU, the graphics driver module does not appear in the working thread but is concentrated on the main thread (see Figure 6), which means that a single immediate context** bears a large amount of driver load, thus increasing the time of the working threads waiting for the main thread.

By checking the GPU driver support for DirectX 11 multithreaded rendering features3 (see Figure 7) through the DirectX Caps Viewer, we learn that the NVIDIA GPU driver supports driver command lists, while the AMD GPU driver does not support them. This explains why the driver modules on different GPUs appear in different contexts. When paired with the NVIDIA GPU, working threads can build driver commands in parallel in a deferred context ; while when paired with the AMD GPU, the driver commands are all built in serial in the immediate context of the main thread.

So yes, DX12 can help, but in only one respect:

Although the multicore performance scalability of DirectX 11 multithreaded rendering is limited for some GPUs with limited driver support…

Now, why this scalability doesn’t currently exist on Nvidia GPUs in Flight Simulator? I have no idea. However, the point still stands that it can exist at least on GPUs that support Driver Command Lists, which seem to primarily be Nvidia GPUs.

Apparently, DX12 doesn’t require these command lists for this functionality, which is why it’s desirable. So yes, switching to DX12 will help, but primarily for AMD GPUs. It’s not like they can’t implement this sort of multi-threading with DX11.

I just wanted to make that clear.

Edit: However, I would like to see DX12 implemented for other reasons, mainly being the RTX IO functionality that will eventually come, as well as DLSS 2.0. Those features I think would be pretty great for flight simulator.

2 Likes

The DirectX 11 vs 12 discussion is significantly more technical than the majority of users will understand. Even I struggle with it a bit however based on my own observations between P3D V4 and V5 (which, for those who aren’t aware, V4 is based on DX11 and V5 on DX12) - DX12 allows the application (ie MSFS) to have more direct access to GPU RAM, which is generally somewhat faster, or at least more efficient than your standard DDR4 which will generally see an improvement of performance. I know P3D V5 also introduced “Nvidia Waves” for water effects and despite being in beta and having some minor ‘first implementation’ issues, They made a stunning difference. (I don’t know if this is a stock Nvidia API or Function which is available on DX11 or exclusive to DX12, or completely independent of DX version)

Regarding Cores utilised etc, I believe this will come back to an Application level programming (Such as Affinity masks etc) - I believe over the years P3D did try and improve on this significantly from the original FSX base code however, from my understanding there are still some fundamental changes required to the core of the applications programming to really take advantage of this.

Even in its current form, prior to many of the patches being implemented, MSFS does appear to have some optimisation improvements in some areas (but not so much in other areas, strangely).

As it has been said though, DX12 will massively improve performance on lighting, shading and texture processing. I do recall that it was said during the preview videos prior to release (and in some articles) that Asobo have made some their own alternative to Ray Tracing however I believe that utilising Nvidias’ model (assuming that what Asobo have made is being pushed through the CPU) would be significantly more optimised.

I will also say that a lot of this is bordering into the realm of area that my understanding isn’t the greatest so I’m happy to be proven wrong if I’ve got this wrong but as mentioned by @Dark2385, There are definite benefits of going to DX12 to really take advantage of the next generation hardware.

The way I see it, Nvidia are going to have more advanced technology available if Asobo want to utilise it, over their own internally developed methods, given Nvidia have been in this field a lot longer.

There’s probably a whole category of improvements that haven’t even been touched on in this thread.

I think if Microsoft really want to showcase this platform, or DX12, MSFS would be the ideal platform to do it on.

The sim is severely limited by the CPU with the current directx version. When can we expect a dx12 upgrade? It’s a little concerning that a Microsoft tittle of this caliber isn’t running on the latest directx version since direct x is own by Microsoft anyways. I know patches were announced to address the performance issues but my point is why patch it when you already have access to directx12.

9 Likes

What processor are you running? I assume you’ve looked at the system requirements, so you’ll know where you sit.

I7 7700k at 5ghz.

In a flight sim, a lot of calculation have to be done, and by the CPU. physics, weather, all traffic etc…I’m not sure DX12 could be magic and give you a lot of fps. graphics cannot go faster than calculations, there are dependant.

1 Like

Thats the same processor as mine, but im only running it at 4.5ghz but find it only hitting 60% max.
I have a 10080 ti, and than hovers right up to 98%, so i think its my gpu holding me back.

I run the game at 1440p on ultra settings.

32gb ram
1TB m2 nvme drive

Dont know if that helps

1 Like

I have the same CPU, too:
ASUS ROG Maximus IX Hero, i7-7700K o/c @4.9, 32GB RAM, GTX1080Ti FE, Dell S2716DG 1440p monitor, 1TB Samsung 960 Pro M.2 (x2), CH Eclipse Yoke, CH Throttle Quadrant, CH Pro Pedals, Windows 10 Pro (current updates), Track-IR 5 Pro

My MSFS settings are mostly Ultra with a few things turned turned down 1 step like shadows. (I’ll add screen grabs of my config in a bit)

I use RivaTuner (comes with Afterburner) to cap my fps at 30, which still gives me nice smooth flying while keeping my GPU at 65-85% or so and CPU under 60%. There are little spikes when new scenery is getting downloaded and uncompressed - I think that part should maybe use (n-4) threads for that part so it doesn’t get in the way of MSFS’s main thread.

1 Like

Someone had been watching Digital Foundry :laughing:

1 Like

What resolution and is any downscaling on?

1440p native w/o downscaling. Also, I have Vsync turned off and its fine.

That analysis is… not exactly as good as I’d expect from DF.

Running tests by jumping between planes to make the video look pretty isn’t exactly good when different aircraft have radically different hardware impact.

Helpful but came across as an advert for Origin PC.

2 Likes