Provide Better DirectX support in WPF
These DirectX support classes are new in WinRT / Metro. Please provide them in WPF.
SurfaceImageSource enables full composition of DirectX content into a XAML app. This allows drawing DirectX content into the XAML visual tree, useful for complex image effects, data visualization, and other immediate-mode drawing scenarios.
VirtualSurfaceImageSource is used for large-scale virtualized content. This is targeted toward apps that require panning and zooming of large content, like maps and document viewers.
SwapChainBackgroundPanel targets full-screen, DirectX-focused scenarios. This is great for games and other low-latency, full-screen DirectX apps with a XAML overlay.
Forget about something new in WPF. Its dead completely.
Any luck guys with SwapChainBackgroundPanel for WPF?
Totally agree here. WPF could be the defacto Win7/Win8/Win9 desktop UI environment, but problems with D3DImage / Render/UI thread stutter / lack of developer transparency will force visualization apps towards Qt unless resolved.
I have posted details on this issue here:
Could we start a kickstarter for this?
John Schroedl commented
@Mario One issue with that is that it implies Windows 8 and newer. We need this for Windows 7 and newer at least (and Vista if possible).
Mario Pintaric commented
Given that some non-trivial parts of WinRT are now accessible from the desktop as of Windows 8.1, perhaps the path of least resistance would be to allow the WinRT rendering engine to be available as a D3DImage surface with hooks to managed events?
Eric Hill commented
+1 on needing SwapChainBackgroundPanel for WPF on the desktop. WPF retained mode graphics are completely useless for applications other than database forms apps. WPF needs high-performance immediate mode graphics. It was a massive architectural failure that it wasn't provided from day one.
We need new D3DImage class! Please, give us possibility to painless interop with DirectX 11 wrote on C++!!!
Chris Davies commented
Even if D3DImage has some enhancements that would help -
Lock (or TryLock) has to be on the UI thread, so you can't update the surface in the background without a transition to the UI thread just to take the Lock.
No notification of when the WPF rendering system is attempting to lock the image so its tricky to be insync with WPF render of the UI.
Yes, please, make a normal way to use native DirectX C++ in WPF applications. It would be very helpful writing level editor for games, for example.
Simon Bond commented
We desperately need SwapChainBackgroundPanel for WPF so that we have control over presentation timing for video applications. If it were in (or even planned for the next release) we wouldn't have had to abandon WPF as an otherwise perfect desktop application framework for serious multimedia applications.
Morten Nielsen commented
D3DImage is a pain to work with, and doesn't work very well. I've found that SurfaceImageSource resolves all those issues, but I wish it was available in WPF as well.