Is Xna Still Required If I Migrate From Dx9 To Dx11 Using C#?

Started by
2 comments, last by BBeck 7 years, 7 months ago

I notice there is a package called XNA that used to be required to run games on windows 7 platform with DX11....

I think it's a SDK package, but sometimes, when running certain games, the game fails to start if

I didn't install the XNA even though I am not writing any code.

Despite of the new Windows 10 OS, if I still use windows 7 and targeted at 7, should I install the XNA SDK?

I am asking this because the default SDK which comes from VS2013 already has a fairly good coverage.

Thanks

Jack

Advertisement

I notice there is a package called XNA that used to be required to run games on windows 7 platform with DX11....
No. XNA is a lightweight game framework/engine library, like MonoGame, SFML, SDL, etc...
Despite of the new Windows 10 OS, if I still use windows 7 and targeted at 7, should I install the XNA SDK?

I would have to say whether or not you decide to install it really depends on how comfortable you are with using DirectX11 because you do not require XNA to use DirectX11. But you can still use Windows 10 and XNA there is a fix for that now if you plan on using XNA instead.

XNA helping you for DX11 is coincidence. XNA was built on top of DX9 and possibly it's installation installed something else you needed like the DX9 SDK or something.

Microsoft stopped supporting XNA and the MonoGame team took it over. They ported it to DX11 and it now is based off DX11 with the advantage of Shader Model 5.

XNA/MonoGame is a C#.Net "wrapper" for DirectX. If you want a little bit easier way to work up to DirectX, XNA and MonoGame are a superb way to do it largely because of the great XNA 3 books that were published. Once you really have a solid understanding of things in MonoGame/XNA it's a lot easier to start doing DirectX.

DirectX in no shape form or fashion needs MonoGame or XNA to be installed. Quite the reverse in that they run on top of DirectX.

DirectX is more meant for C++ programming although some have managed to make it work using other programming languages such as SharpDX which uses C# but is not that well documented.

One thing you may be getting confused on is that in order to do DX11 in Windows 7 you have to have two copies of DirectX installed. DirectX is now part of the Windows SDK which is basically pre-installed. And if you're in Win10 that's great. But in Windows 7 it doesn't work for a lot of stuff. You actually have to have a second copy of DirectX installed, from what I've experienced. So, you install the old DirectX SDK in addition to the Windows SDK that's already installed. It's kind of confusing, and I think Microsoft wanted it to be that way because they want to do anything in their power to force you to stop using anything before Windows 8. But if you get both installed you can do DX11 in Windows 7.

So, the bottom line is that you should never have to install XNA in order to program DX11. It may be installing the DirectX SDK and that may be what you are experiencing. And in order to do DX11 in Win7 you have to install the DX SDK in addition to the Windows SDK even though DX is built into the Windows SDK.

This topic is closed to new replies.

Advertisement