I suggest you ...

Greatly increase support for GPU programming in C#

-Support GPU programming in C# -both general and graphical- on at least equal level with C++. On every Microsoft platform.
-Design the future versions (or successor) of DirectX with C# in mind.

2,308 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Cole shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    33 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Gary Birch commented  ·   ·  Flag as inappropriate

        The capability of writing GPGPU code for various types of calculations should be available to all .Net languages i.e. VB, F#, etc... not just C++ programmers. I would also like to see layers of abstraction added to the stack to allow other capablilties with data types other than integers and float types. In particular allowing the use of Strings in arrays along with the implementation of their related functions would provide extremely useful capabilities for development in all languages.

      • Anon commented  ·   ·  Flag as inappropriate

        Use SharpDX, I have been using it for almost 18 months and it is great, it gets updated frequently and the support / performance is great, if you actually look at Win8 development (although SharpDX can be used with XP / 7 depending on DX version you want to support) MS do in fact recommend using it.

        It is also opensource and free, maybe MS could help with advertising. Oh and SharpDX is also available via NuGet

      • Gavin Williams commented  ·   ·  Flag as inappropriate

        Both SlimDX and SharpDX provide the ability to use DirectX from C#, they are both excellent wrappers. I noticed SharpDX was mentioned at Build. But Microsoft needs to accept that people want to program in C# and have full access to DirectX. So either provide an ongoing managed wrapper, that is maintained with DirectX or provide some support for these independent projects. They do need support. And why not encourage people to use those wrappers ? Instead of telling people that C++ is how games should be made on Windows now, because a lot of people don't want to program in C++.

      • Ken commented  ·   ·  Flag as inappropriate

        I believe WPF has GPU support for the GUI.
        What else is needed?

      • Tom commented  ·   ·  Flag as inappropriate

        Please give us DirectX in C# on Windows 8, Metro and on Windows Phone 7.8, 8.0!

      • Tom Spilman commented  ·   ·  Flag as inappropriate

        Anyone that wants DirectX in C# should just go grab SharpDX (http://www.sharpdx.org). It is an excellently thin C# wrapper around DirectX.

        If you want XNA in Metro then go look at MonoGame (http://monogame.codeplex.com) which current has Metro support working in a development branch.

        While it would be nice for MS to provide an official DirectX binding for C#... it isn't necessary.

      • Miha Markic commented  ·   ·  Flag as inappropriate

        freefallr, you know, everything is possible even with a Turing machine. However, it doesn't mean it can't be done easier. Thus I fully agree with OP that it is a shame that MS is steering .net away from DirectX and GPUs. Once there was a Managed DirectX, then it was a semi official Windows API Code Pack and now there is nothing left (apart from 3rd party libraries of course).

      • freefallr commented  ·   ·  Flag as inappropriate

        If you want to utilize the GPU, then you'll need to learn to write shaders. Shaders have evolved from asm like language into C like languages. But they're not part of C++, they never have been.

        Their difficulty lies in the need to know _a lot_ of theory to get the best from them.

        C++ has no monopoly on invoking shaders. I've managed to avoid the managed languages up to now, but I assume that you can load libraries and execute functions contained therein, and I know you can use COM from C# (I've created COM objects for C# developers before).

        In order to execute shaders, you do so through OpenGL or DirectX. So utilize those APIs and stop complaining.

      • Robert Dyball commented  ·   ·  Flag as inappropriate

        Ideally have it support different graphics cards - both AMD + nVidia, not be specific to one platform.

      2 Next →

      Feedback and Knowledge Base