Relation beetwer XNA and Direct

Started by
2 comments, last by NickGravelyn 15 years, 9 months ago
Dear Forum i woul like to start to develop some simple grafic. Can you tell me what is the relation beetwen XNA and DirectX (3D) ? I must learn DirectX (3D) or XNA or is the same. Thanks Roberto
Advertisement
The XNA Framework is an API that is built on top of Direct3D 9. You do not need to know how the native C++ library works in order to use the XNA framework mainly because the XNA framework does a lot of work to try and abstract some things out for you.
Thank dear Nik

XNA is good for you ? He lost much performance ?
And, what i need to start ( have somethink to do whit visual studio 2005 or 2008 ?)

Thanks
Roberto
Start here: http://creators.xna.com/en-US/create_detail. (Don't buy the premium account yet, unless you want to go straight to the Xbox 360. The premium account isn't needed for Windows development.)

I love XNA Game Studio (hence why I'm an MVP). It's great for me. On Windows the performance is great. As I've mentioned all over, most games wind up being GPU bound (slowed because they have too many fancy shaders). For those games it doesn't matter that XNA GS uses a managed language, because it has the exact same access to the GPU and shaders as native Direct3D 9. The Xbox 360 is a little trickier because the .NET CF that runs on there doesn't do the best job of inlining or handling floating point math. It's not terrible performance, but it is an area you have to optimize for.

From the sounds of it, you are just beginning. So for you, you should just never ask if a library is performant enough (for now). For your needs, OpenGL/Direct3D/XNA framework are all identical in terms of performance. You will never reach some sort of limit with any of them while you are learning. Once you reach the point where you are reaching limits, you will be educated enough to know why you reached the limit and how to solve it. For now just pick whichever looks nicest and go with it. Basically if you want to use C# for your language, use the XNA framework or SlimDX (a managed DirectX wrapper). If you want to use C or C++, use either OpenGL or native Direct3D.

This topic is closed to new replies.

Advertisement