Microsoft Phases Out XNA and DirectX? 256
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."
It Means (Score:5, Interesting)
Cynical? This isn't my first rodeo. I watched them kill off OS/2, pretty much exactly the same way.
Re:Huh? (Score:4, Interesting)
I think everyone is just as confused. Its really unlikely that MS is ditching D3D. The standard joke is "embrace extend extinguish" but... extinguish makes no business sense here. It's more likely they are trying to collect everything under their "apps store" like Apple has. Presumably steam understood this better (and earlier) than everyone else, and that's why they're making another basket for their eggs.
Luckily.. (Score:2, Interesting)
..there's MonoGame [codeplex.com].
Nebulous spokestalk alert! (Score:5, Interesting)
One thing that the NBC Universal--Comcast thing taught me was that "inaccurate" != "false". (They said news about the merger was "inaccurate". They merged anyway.) Here we go again.
In short, I'm not convinced that either system will survive the axe, and you should probably just polish your HTML5-optimized-for-Metro-or-whatever-it's-called-now (or OpenGL?) skills if you still want to make games for Windows:
So will both die on April 2014? In the words of $got_talent_judge, "I vote Yes."
Re:Use OpenGL instead (Score:5, Interesting)
Re:Huh? (Score:5, Interesting)
Premature abbreviation is the root of all evil.
The big problem with OpenGL (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.
Re:Use OpenGL instead (Score:4, Interesting)
Re:Use OpenGL instead (Score:4, Interesting)