2 questions

Started by
4 comments, last by paic 18 years, 6 months ago
1. Can someone make a comparison between the performance of DX9(C++) and Managed DX9(C# or VB, it's the same anyway) ? 2. I want to make a small game using MDX. I would like to create my own 3D models for it. Can you sugest a program to do this (a simple one preferably)? I'm a noob at modelling.
Advertisement
1. Perf difference should be minimal. Look for a minimum of 85% of native performance using MDX. Most likely you'll get closer to 95% of native.

2. Milkshape 3D is a good place to start for simple models.
Quote:Original post by poltergeist
1. Can someone make a comparison between the performance of DX9(C++) and Managed DX9(C# or VB, it's the same anyway) ?

I seem to remember the official target was 97% call-for-call performance. However that statistic is for the DX components - you've got two different languages in there as well, each with their own performance characteristics (e.g. based on how/what you do with them).

Quote:Original post by poltergeist
2. I want to make a small game using MDX. I would like to create my own 3D models for it. Can you sugest a program to do this (a simple one preferably)? I'm a noob at modelling.

I've heard good things about Blender - and there seems to be a decent series starting on this very site: Using Blender to Make Game Models Part 1.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

thanks mike and jollyjeffers!

but shouldn't the performance penalty be higher as MDX is written in C#(or so I've heard)?
Managed DirectX is written in Managed C++, and as such, most of the actual code is executed natively. This is one of the biggest reasons why debugging with it can be a hassle because Loader Lock can occur if you load the DX components during a form initialization phase.
The actual components that interface with your C# code are of course implemented in managed code (in managed c++), but the performance parts are still in C++ (or even assembler, if they wanted). This is why they claim a 90-95% (insert your number here) performance ration.
As jollyjeffers pointed out, that's a call-per-call performance comparison. Which means that the actual DX calls map at that performance ratio. If you blindly use C# in ways not meant for realtime performance, you will fall far short of that ratio. But this will be the fault of your game engine, and not that of Managed DX.
Hope this clears things up,
-Dave
That will depend on what your program do.
If it's really GPU intensive, then it should be almost the same. But if you have an algorithm which is quite heavy on the CPU, then you might have some differences between C# and C++.

For the 3D modeller, I also suggest Blender (I'm using it for quite a long time now ^^) and it has become a lot more user friendly. So it's quite easy to learn, and really powerfull. And one of the big thing for us programmers : python scripting. It's simple to use, and you can easily make an exporter for your own format.

This topic is closed to new replies.

Advertisement