Tom Miller's Blog

The Ramblings of Miller. These postings are provided "AS IS" with no warranties, and confer no rights.

What would stop you from using Managed DirectX?

What would stop you from using Managed DirectX?

  • Comments 76

This is a question that is interesting in more ways than one.  One of the more common answers to this question i hear is naturally centered around performance, even though many times the person with the 'fear' of the performance hasn't actually tried to see what types of performance they could get?  I would love to hear about specific areas where people have found the performance to be lacking, and the goals they're trying to accomplish when hitting these 'barriers'.

But above and beyond that, what other reasons would you have for not using Managed DirectX.  Do you think the working set is too high?  Do you not like the API design?  Do you just wish that feature 'XYZ' was supported, or supported in a different way? 

At the same time, what about the users who are using Managed DirectX currently.  What do you like, and why?

You can consider this my highly unscientific survey on the current state of the Managed DirectX runtime. =)

  • I love managed directx. It save up my time rather to code unmanaged c++ directx.

    There is one problem. I do notice that in the Directx 9 sdk (latest one or the previous version), c++ had far more examples than c# or

    Does it mean that c# or is lacking of something?

    Well at least it increase my curiousness over managed directx when i first used it!

    I do believe Directx 9 is far better than the previous older versions! Great job to Microsoft Directx Team.

    About performance, I can't say much. I never done any huge 3d projects on managed directx, it looks okay to me on low scale 3d simulation.


    Chua Wen Ching :p
  • why we don't using Managed DirectX?
    because the DirectX SDK help just for C++;
  • Well,...
    We have tons of libraries build on C++ and 80x86 assembler, so we are kinda stuck with unmanaged DirectX.

    Although for new Apps with completly new design MDX is the way to go.

    I really like the clean layout of the Classes, it's quite more appealing then the unmanaged version.

    And now that some really anoying bugs are cleared (remember the lock on DirectDrawSurface? ;)) it's a good alternative to the unmanaged DirectX API.

    Performance can't be an issue, coz the only part where I'm always missing some performance is the graphics card itself :)

    And if people keep some basic things in mind, like correct usage of VertexBuffers then there won't be any performance problem with MDX at all...

    I'd say our apps (take a look at our webpage!) are one of the best proofs that DX is way better than any other graphics lib.

    Thanks for the good job, best regards
  • Well, it would be really good to have full-ish DirectShow support in MDX, instead of having to use COM.
  • To much focuss on C++.
  • The API's nice -- my toy game got 200 lines shorter when I ported it from C++ / Direct3D to C# / Managed DirectX

    But my real goal is to write a console game, and there's no C# or CLR for any console.

    Will Managed DirectX and C# ever work on Xbox? If not, why not?
  • I'm currently using Managed DirectX for my new engine and I have great performance but it is really necessary to use the CLR profiler so you can detect if your code is GC friendly in order to prevent 2 gen GC collections. But the api design is really nice and I have great productivity.

    For future Managed DirectX versions, it would be nice to have: a better help (because for the moment I only use the help of c++ directx), more samples, good example of how to do the main game loop in the samples (because using DoEvents() is not the optimal way), DirectShow support and more friendly exceptions.

    As Joe game developer said, meaby the think that can stop developers to use Managed DirectX is the portability of the .net framework (would be nice to use .net for the XBox 2).
  • I second the entries regarding the documentation. While the API is delicious, it's trial and error when learning how to use it.
  • +1 on bad documentation.

    Also, the error-handling is really really sucky. Why are we seeing HRESULTS from a managed API?
  • Agree with everyone on the poor documentation. It's terrible, and like a lot of MS docs, leaves you with a "where do I start?" feeling. Your Sams book was pretty outstanding though, with the exception of your frequent use of the words "simply," "naturally" and "obviously," words one doesn't like to see when they're approaching game programming only as a hobbyist.
  • The documentation is lacking in many areas, as others have pointed out. The one area that bit my project hard was the perceived abandonment, and general buginess of, the AudioVideoPlayback classes, especially the RenderToTexture system. In the end it killed the project and we ended up with a seriously non-optimal solution. However, your book is on my shelf along with Lynn Harrison's, and I'm hoping that managed directx prospers.

    PS, a managed version of the Doughnuts application in the SDK would be nice.
  • Because its not cross platform which is what the CLR and C# is trying to be.

    I want cross platform, show me DirectX on other platforms and then I will listen until then talk to the hand.
  • DirectShow capture support is really important for us, and that impedes our ability to use Managed DirectX!

    We'd also love to see some examples of using DirectDrawSurface with real-world-sized 2D bitmaps (e.g. the kind of things you'd get out of a consumer digital camera), that will work across common DX8-and-up supporting graphics cards.
Page 1 of 6 (76 items) 12345»