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.

273 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    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
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      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