dotnet / wpf

WPF is a .NET Core UI framework for building Windows desktop applications.
MIT License
6.92k stars 1.15k forks source link

Support of the Direct3D 12 due to Intel is removing native support for DirectX 9 #7062

Open alxkalinin opened 1 year ago

alxkalinin commented 1 year ago

Intel is removing native support for DirectX 9 from its new graphics cards. But WPF is still using DirectX 9. Probably we should expect degradation of the performance of the tons of WPF applications with complex UI.

Is it possible to plan to support the latest Direct3D 12?

Symbai commented 1 year ago

Probably we should expect degradation of the performance of the tons of WPF applications with complex UI.

According to the news that shouldn't happen:

[...] applications and games based on DirectX 9 can still work through Microsoft (Windows 10 and Windows 11) D3D9On12 interface. [...] and the new dependency on D9D9On12 mapping layers shouldn’t have a noticeably negative impact on gameplay.

That also means if bugs occurs they will get fixed by Microsoft Windows team so we don't rely on Intel. Switching(!) to directx12 would cause WPF apps no longer working on machines which do not support DirectX12 and there are a LOT of machines out there. Just speaking about all of the business machines which don't even have an external graphic card. However supporting(!) DirectX12 is a good idea. Either developer are able to switch between DirectX9 and DirectX12 or WPF simply falls to DirectX9 if DirectX12 isn't available (if that can be done, I have no idea).

alxkalinin commented 1 year ago

That also means if bugs occurs they will get fixed by Microsoft Windows team so we don't rely on Intel.

Thanks for the good news! I hope the performance will not degrade.

But I also very much hope that the WPF team starts thinking about the support of the DirectX12. I do not believe so much in the Win UI 3 initiative. And I very much like WPF. And I want to have WPF not in the support state but in the active development phase.

Now we have all open sources, and I am pretty sure that the community will help in the future development of the WPF.

pchaurasia14 commented 1 year ago

Migrating to Dx12 is a complex task and will need to be planned out in advance. Considering the current backlog of items that we need to clear; this may take a little time before we can address this.

Rest assured, we will definitely plan the migration and share it with community in due time.

huangjinshe commented 1 year ago

Why still DirectX ? There are so many cheap TV-BOX or IOT devices which could play Video, Song, TV(even on dual monitor, 1 for display animation smoothly and interact, 1 for play 4K video), or a big screen in everywhere users could interact with touchable monitor(Hospital or supermarket....etc), but the Chip is using from ARM, and the OS using Linux, I think WPF future must support ARM device and linux, (unless Microsoft has a plan to going into the cheap device market) then we can totaly go into every hardware device could making some good animation WPF App. So considering the multiplatform and multiOS, WPF should more carefully targeting the good framework and performance which support all.

We need a good performance, which support us could run WPF in a low price cheap devices! based on DirectX9 behavior now, I don't really think we should use DirectX12 or any other low performance framework anymore.

damian-666 commented 1 year ago

Very good point, Can Silk windowng abstractions and stuff be used make WPF Netcore.6 work outside of windows, say on OpenGL platfroms? Avalonia exists but I don't dare move to it it because of how naunced WPF is, and its basically tryng to emulate WPF for cross platfrom ..... and seems like the rendering part could be abstracted, as well as the input, via Silk, or is this think way out of scope for other technical reasons?

I just don't see any alternative to WPF , with the dependency properties, stateless UI, docking, and touch and pen support , and all the components already built on it... I have build a game level editor with animations, drawing, scriping , docking, visualization, all on WPF, its 10 years of work x 3 people and im using the touch and stylus and pen more and more.. as well on a Surface studio convertable, and i see is potential there for WPF to work on tablets, phones , etc. I do use some AavaloniaUI components but wondering about the future of WPF , if it is to remain on windows and w Xamarin is being deprecated and Maui stalled, Universal app killed, and Silk gaining momentum, there's nothing like WPF for data visualization, its "Undead" It could be generalized to tablets maybe even phones.