Slashdot Mirror


Microsoft Phases Out XNA and DirectX?

mikejuk writes "It is reported that Microsoft has sent an email to DirectX/XNA MVPs which informs them that they are no longer needed because XNA and DirectX are no longer evolving. What does this mean? If you don't need MVPs then presumably you anticipate nothing to support in the future."

6 of 256 comments (clear)

  1. Use OpenGL instead by SplashMyBandit · · Score: 5, Informative

    All the growing platforms use OpenGL. Even Windows can use OpenGL (although it is not tyhe favored child). If you have an eye on the future, it makes far sense to develop with OpenGL. That way you can develop shaders that will work on: Android, iOS, Mac, Linux, Windows, Unix, embedded devices (eg. commercial avionics), the PS3. What you miss out on is XBox 360 and Windows Phone. Compare the combined size of the coverage of OpenGL platforms to the Direct3D-only platforms. There is simply no contest anymore in terms of units shipping and growth rate.

    OpenGL is the future of hardware accelerated graphics. The nice thing is that no matter what changes in the hardware/platform space you investment in OpenGL is never lost, it comes across as you migrate.

    1. Re:Use OpenGL instead by Anonymous Coward · · Score: 5, Informative

      Because XNA is actually a pretty good framework embedded in a really good toolset and there's really nothing that matches it in terms of ease, speed, and quality of development without also losing much real flexibility and power to do what you want to.

      I agree with you for the most part, I'm using OpenGL now because XNA at least does have an awful lot of uncertainty under it with the fact Microsoft have chosen not to support it in RT and Visual Studio 2012, suggesting there is indeed no future for it, but if you just want to make games as say, a hobbyist, and don't really care about sales figures or market reach then XNA is your best bet, especially if you work a full time job - XNA can mean the difference between having time to embark on such a project alongside work, and not. A lot of this comes down to OpenGL's inconsistency of support meaning more bug hunting, more time and effort to setup, and the fact the API design is dated and often painful to work with and that the only language it was really developed hand in hand with - C, isn't exactly a productive language (unless you have to use it, for performance concerns). XNA being developed hand in hand with C# is partly what made it excellent to work with because it was a modern framework design melded with a modern language.

      But for what it's worth I think there's another point in OpenGL's favour, Microsoft have a long history of failing to provide graphics API stability, GDI, GDI+, WPF 2D/3D, DX, MDX, XNA, and so on - so many APIs over the years have come and gone with support disappearing to a large extent or even completely. It's one of Microsoft's developer weak points.

      I've always been a fan of Microsoft's graphics APIs and have always defended them over OpenGL because they haven't had most the headaches OpenGL causes, but even I'm fed up now of the fact that each graphics API has a lifespan of a few years, that if you upgrade Visual Studio you can likely no longer use the integrated tools for that API for years afterwards, if at all. It's just gotten stupid at this point and has become such an overriding concern due to the frequency of the problem that all the benefits are now irrelevant.

  2. It Means by Greyfox · · Score: 5, Interesting
    Too many people got too good at writing DirectX emulation layers. Obviously someone fell down on the job, or Valve wouldn't have managed a Linux port. Watch for new incompatible "standard", soon.

    Cynical? This isn't my first rodeo. I watched them kill off OS/2, pretty much exactly the same way.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  3. DirectX is fine by TonTonKill · · Score: 5, Informative
  4. Unlikely by RenHoek · · Score: 5, Insightful

    It's very unlikely that Microsoft will abandon DirectX. It is afterall the reason why most games for the PC are Windows-exclusive. If they OpenGL becomes king, porting to Linux will be a lot easier. Windows will be dumped by a lot of people whose only reason to keep a Windows desktop is gaming.

  5. The big problem with OpenGL by tlambert · · Score: 5, Interesting

    The big problem with OpenGL is that the shaders are not guaranteed to run in bounded time. DirectX doesn't have that problem, and the OpenGL emulation layer on top of DirectX unrolls the shaders, and for the ones which won't run in bounded time, just throws them away.

    When Chrome implements OpenGL on Windows, it runs it through its own code which does the same thing and preflights it, then renders the OpenGL which will run linearly and in bounded time via DirectX.

    The Linux and Mac OS X versions hand the OpenGL to the user space renderer or to the kernel-based renderer, respectively -- there are significant performance advantages to OpenGL on Mac OS X compared to Linux because of this; this ends up being most apparent on portable devices, which have a limited memory copy bandwidth (read: ARM devices), which is why Android doesn't directly use the Linux graphics model, apart from the inability to use binary drivers in kernel space due to EXPORT_SYMBOL_GPL().

    But both the Linux and Mac OS X OpenGL renderers take the shaders without preflighting them, as is done on Windows when converting to DirectX calls, and so it's possible to crash the user space driver on Linux, or crash the Mac OS X kernel, on Mac OS (the disadvantage you get in exchange for the reduced copy overhead relative to Linux).

    I tried unsuccessfully for several months to try and convince the Chrome graphics guys to run the preflight portion of the Direct X converter on Linux and Mac OS to prevent these crashes on these platforms, to no avail. It'd be more processing, but no more than is already done on Windows, in exchange for a significant improvement in stability for OpenGL/OpenGL ES/WebGL/NaCl on both platforms, which is probably worth the additional processing cost, given that the bottleneck is copying, not processing, on the portable platforms. There are cycles to burn on the desktop systems, even if you'd prefer not to burn them, it's probably worth it for the stability.

    In any case, a lot of game developers try for a lot of effects with shaders, and most of them are more concerned with the visual appeal, rather than in running in bounded time and not eventually crashing the system. DirectX protects them where OpenGL doesn't -- except on the Windows platforms they use for development, and that doesn't help get these games stable and running on Mac OS X or Linux, which is what you'd hoe the portability of OpenGL code would have bought you.