Home > DirectX, Xtro.MDX > Managed Direct3D APIs performance test results

Managed Direct3D APIs performance test results

Well… few days ago, I have published first beta version of my own DirectX wrapper library(XtroMDX) which is competing with other popular Managed DirectX libraries like SlimDX and SharpDX. I am very appreciated with their work. I was using SlimDX for my 3D projects long time ago and their open source project taught me how to write a wrapper library and It’s so good for SharpDX for having an “Any CPU” feature which doesn’t exist in SlimDX or XtroMDX libraries. It has that feature because it is written in C# completely unlike SlimDX and XtroMDX which are written in C++/CLI.

After I posted the news about my library on different programming forums, some people requested me to write a performance and code comparison. I am gonna compare some code parts in a later blog post. This post is about performance. To be able to do performance test, I asked Alexandre Mutel who is the owner of SharpDX to share me his benchmarking source code and he accepted my request. Thank you Alexandre Mutel for sharing 🙂

I had to modify some of the benchmarking code to make the performance testing loop more fair for all libraries. After completing the modifications and test runs, I found that all the managed libraries are nearly equal. There are extremely micro differences in each round results.

In the screenshot below, you can see 32 bit and 64 bit test results. I highlighted the winner of the round as green and looser of the round as purple. In the final score my XtroMDX has +2 points but I am not claiming that XtroMDX has the best performance over the other libraries. This is a very limited benchmarking and it only proves that these 3 libraries has no performance advantages on each other.

If you are interested in my version of benchmarking, you can download the source code and binaries as two separate rar files. Source code, Binaries

And this is the link for XtroMDX open source project on code.goole.com


  1. January 2, 2012 at 5:39 pm

    üstad ellerine sağlık,

    >>I had to modify some of the benchmarking code to make the performance testing loop more fair for all libraries.

    test kodunda yaptığun değişiklikleri de ekleyebilir misin? sonuçları daha iyi anlayabilmek adına gözatmak iyi olacaktır.

  2. Dave
    April 8, 2012 at 4:07 pm

    Could you please show how to create a XtroMDX user control with camera ArcBall functionality. What is your plan to work on other DirectX10 examples. Thanks. Good JOB. Great for learning Managed DirectX.

    • April 9, 2012 at 8:16 am

      There are ModelViewerCamera and ArcBall classes in Xtro.MDX.Utilities library which is implemented by Microsoft SDK and converted to C# by me.

      They are used in Tutorial 10-14 via this Utilities framework (C# version of DXUT from Microsoft SDK).

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: