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.
And this is the link for XtroMDX open source project on code.goole.com