Jump to content
  • Advertisement
Sign in to follow this  
SteveDeFacto

Is XNA using DirectX 10/11 yet?

This topic is 2831 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have been working on a game engine for a few years now and it has evolved into basically XNA. I still have bugs and stuff so now I'm just thinking about using XNA instead but I need to know it has some of the same functionality my game engine has:

Does it support DirectX 10 and or 11?

Does it have a physics engine and if so which physic engine is it using?

Is it reasonably fast?

Anything else I need to know about it?

Share this post


Link to post
Share on other sites
Advertisement
XNA doesnt currently support DirectX 10/11. And future support hasnt been announced yet...

XNA games are programmed in C# instead of C++.

It doesnt have built-in physics support, but you can integrate PhysX (and other physics engines) in your game.

About the speed, I never used XNA but a lot of people use it, and there are, I guess, hundreds of games developed with the XNA framework, even games for XBOX360 so I guess it is fast...

Share this post


Link to post
Share on other sites
Actually I think XNA 4.0 moved on to DX10 or DX11 but can only use DX9 on the Xbox360.

Something to do with Hi-Def profiles or something of the sort.

Err, maybe not. I am a bit confused on the subject but Shawn seems to say they just borrowed the state object designs from 10 and 11.

http://blogs.msdn.com/b/shawnhar/archive/2010/04/02/state-objects-in-xna-game-studio-4-0.aspx

so uh, never mind.

Share this post


Link to post
Share on other sites
How do you know your engine turned into basically XNA if you don't know XNA? :)

XNA is still DirectX 9.0c only and I very much doubt that this will change. The XNA devs have noted at every release that they've had to cut features, so re-implementing the whole graphics infrastructure on a second API is probably not going to happen. As least not by Microsoft.

Physics engines are a bit rare. The most famous and complete ones are BepuPhysics and JigLibX to my knowledge. Some russian developers also started a port of Bullet (named BulletX) but abandoned it in a semi-working state. XNA isn't that great with number-crunching (and there are no SSE2 intrinsics or anything like that), so fully managed physics engines aren't quite as fast as their native counterparts.

Using native solutions like PhysX, Bullet and such is possible on Windows, but XNA doesn't allow the deployment of native code to Windows Phone 7 or the Xbox 360 (you need the Xbox SDK for that).

It is reasonably fast, I'd even go as far and say that performance in general is fantastic. Programming with XNA is a pleasure as it completely hides lost devices and has a decent and extendable build system including HLSL compilation and model importers already integrated.

Share this post


Link to post
Share on other sites
As some other people stated, no. XNA is built atop DirectX9. When will it upgrade to 10 or 11? Probably when Microsoft releases the XBox-720-Xtreme-HD 2018A. :) And that's one of the principle reasons I switched to SlimDX.

Don't plan on seeing any radical changes to the XNA Framework anytime soon. I'm only interested in PC development at this point in time (and have been so for a long time). It always annoyed me that it was technically possible to boost XNA's PC capabilities WAY up, at the cost of compatibility with XBox, Zune, etc. And the differences could simply be stated so that cross-platform developers could stick to what works all across the board, while PC-buffs could go to town with the latest, cutting-edge features. But that's not happening. While it's technically possible, it's a logistical problem for the guys who would have to build it: MS's XNA team. You might think MS is sooo big and they're just being lazy. But then you remember all of the (probably hundreds of thousands) of projects the entire company's programmer workforce is split up into teams to do. Needless to say, they don't have a million man army to devote to XNA. So I forgive them. But I'm going to stick to SlimDX for big PC projects, and I'll use XNA for hobby projects and quickies.

As for physics...my philosophy is that a well-designed and written managed physics engine can be just as fast or faster than a native one. I believe this because you can very easily create a heap of nightmares (pun intended) in big C/C++ projects, and the CLR manages memory extremely efficiently (though not always very transparently). If you do things right, you can have a hot, smokin managed physics engine (or practically anything) which can match or beat its unmanaged counterpart (theoretically at least).

I just spent today doing some benchmarking of my own code (C# and native C/C++). Nothing yet has convinced me that either language can blow the other out of the water. The advantages of each mean you can do certain things quicker and more efficiently than others. Never just assume language A is better and faster than language B. Because language A might do X better, while language B wins at doing Y. The only way to know is benchmark, analyze and find out what works the best for you. Also, what good is it if you have a 0.03% faster physics engine written in straight C if it takes you three years longer to do it than doing the same thing in C#? Just saying, don't jump on any bandwagons!

Share this post


Link to post
Share on other sites
Use SlimDX if you really want to develop for DX11. XNA is (and will ever be) a X-BOX interface and thus is limited to DX9.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!