How can we improve Windows Developer?

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.

276 votes
Sign in
(thinking…)
Sign in with: facebook google
Signed in as (Sign out)

We’ll send you updates on this idea

Dan at Bentley shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

11 comments

Sign in
(thinking…)
Sign in with: facebook google
Signed in as (Sign out)
Submitting...
  • Anonymous commented  ·   ·  Flag as inappropriate

    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:

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/32b95d6b-9c6f-4f45-8f3a-989823d8922e/animation-stuttering-with-compositiontargetrender-with-or-without-d3dimage?forum=wpf

    Could we start a kickstarter for this?

  • John Schroedl commented  ·   ·  Flag as inappropriate

    @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  ·   ·  Flag as inappropriate

    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  ·   ·  Flag as inappropriate

    +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.

  • Denis commented  ·   ·  Flag as inappropriate

    We need new D3DImage class! Please, give us possibility to painless interop with DirectX 11 wrote on C++!!!

  • Chris Davies commented  ·   ·  Flag as inappropriate

    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.

  • Denis commented  ·   ·  Flag as inappropriate

    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  ·   ·  Flag as inappropriate

    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  ·   ·  Flag as inappropriate

    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.

Feedback and Knowledge Base