This is an important message to all SharpDX users,

I have been working for two years now on SharpDX. The project grown from a promising prototype to a full-featured DirectX layer for .NET, supporting latest Windows RT and Windows Phone 8 OS.

The work accomplished so far has been consuming my whole spare time for the past two years, ranging from 2 to 5 hours per day, and with a family and a job, that's quite a hard and exhausting task to handle.

When I first started SharpDX, my initial goal was to develop a Direct3D11 layer in order to enjoy programming some artistic demo with it, mainly for the underground subculture called the "demoscene". But the project was so successful with many users asking me to introduce new features, bug fix...etc that I have been working really hard to enhance SharpDX, adding new features, provide bug support, build a full web site, run SharpDX forum, respond to the various questions all around the net about the usage...etc but so far, I have not been able to enjoy it in my spare time to develop some demos with it (luckly I have been able to enjoy it at my work because we are using it in our Paradox engine!).

With the latest version of SharpDX for Windows Phone 8, I have seen lots of new users, some of them are coming from XNA, some of them are totally new to Direct3D/Direct2D stuff...etc registering and asking for guidance, usage, enhancement...etc. With Microsoft forcing developers to go to C++ to access DirectX layers on latest OS, SharpDX is saving lots of time for users that want to program with their favorite .NET environment. Lots of companies have been using SharpDX to ship some games and this is great.

But still, from my little perspective, the current amount of work to manage this whole project is exceeding by far what I can afford for a spare time project. Even if SharpDX is successfully used in several commercial projects and is production ready, It would still require 1-3 people working full-time for several months to provide all missing features, write documentation, run the forum, respond to all questions, provide paid support...etc. But SharpDX is just a backend project, so it means that there is no business interest for companies to make this kind of investment. So the only way to manage it is to let a community participate and improve the project, and this is all new to me.

The result of my thoughts is that SharpDX is going to try to migrate from a one-man-project to a common-community-project, where my own place would be to keep a coherent direction of this project, but not to manage every single details of it. The impact of this mutation is:
  • There is a new SharpDX github code repository more social friendly accessible at https://github.com/sharpdx/SharpDX to allow users to fork and contribute to SharpDX. This repository is synchronized with the existing google code, but I will integrate  progressively pull request from users from there. Concerning code contribution from community on GitHub, I will post some instructions in a separate post.
  • My personnal investement in the SharpDX forum is going to be reduced dramatically. I will not respond anymore to each question, so I suggest people that have a question concerning DirectX usage to ask their questions either to http://www.gamedev.net/forum/10-directx-and-xna/  or the various Microsoft forums. I will see if SharpDX forum will be invested by some community users, but if not, I will have probably to close it. The paid support is going to be also very limited (unless the offer is worth my spare time).
Also, I have been quite surprised to learn from some SharpDX users that had some performance problem using SharpDX (mostly with latest ARM HW)  that they were told by Microsoft Support that as SharpDX is not supported by them, and SharpDX is a .NET project (and not a  "Gogo-Native uber-efficient C++ project"), Microsoft Support is suggesting them to go to C++ in order to resolve all their performance problem. So let me clarify this once:
  • It is unlikely that SharpDX will cause you a performance problem compare to C++ code (unless there is a bug in SharpDX - but for an automatic layer like SharpDX, it is very limiited to happen, or you are trying to perform heavy calculation in C#). But the problem is more certainly:
  • 1) A problem of DirectX usage API: the low level nature of the API requires *LOTS* of careful knowledge to manage it correctly. You would need the same knowledge to manage it from C++.
  • 2) For latest ARM platform that seems to produce some performance problems, well, I don't know if the JIT/CLR there is efficient. So if you have a performance problem, I can only suggest you to test it purely in C++, then to test it from a managed language using a C++ WinRT component (by reusing the code you did in C++), and finally test it with full SharpDX, using exactly the same code. If your project is running fine in pure C++ but not from a WinRT/Pure SharpDX project, It is more likely to be a CLR/JIT problem. If this is running fine for both C++ and WinRT, then this is a problem in SharpDX. As I don't own a Surface tablet nor a WP8 phone, and I won't be able to get one anytime soon because the Japan market seems to be completely closed to latest Windows stuff, I'm not able to provide any kind of support for these ARM platforms.
This is not a good news for lots of users that were seeking for some help here on SharpDX forum and I really apologize for the inconvenience.

From a personal perspective, I will of course keep manage the SharpDX project, but the frequency of my contributions and my investment for the support will be revised.
I hope that a community will be able to emerge from this transition and to greatly contribute to the SharpDX project!

Kind regards,
Alexandre Mutel - aka xoofx

Download SharpDX

Stable version 2.4.2

Download Binaries PackageBinaries Package 2.4.2

Download Full PackageFull Package 2.4.2

Download Full PackageNuget Packages

Latest Dev PackageLatest Dev Package (2.5.0)

(Last Changes: May 15 2013 00:23:25)

Note: if you are using the Toolkit, use latest dev Package

Who is Online?

  • Lain

Forum Latest

Lain's Avatar
By- Lain
Today 00:53
[Toolkit][DX11] Using materials and effects I started to write some sort of material/effect system for my game, then realized that Toolkit provides some sort of Effect/material framework with properties. So I'm wondering how i could use that. What im trying to do is creating a system, where i can...
Telanor's Avatar
By- Telanor
Yesterday 21:49
[RawInput] Updated to 2.5, stopped working Yea I just downloaded it yesterday (the 17th).
xoofx's Avatar
By- xoofx
Yesterday 12:08
New GeometricPrimitive in the Toolkit Thanks, I will have a look, though it is more a generalized version of the cylinder with a different top radius and bottom radius, so I will probably keep the Cylinder and provide a Cone that is not generating any top. ps: Captcha should be asked for your...
xoofx's Avatar
By- xoofx
Yesterday 12:02
[XFile] Load mesh from X file Please prefix your topic with the general API - Direct3D9 and not a sub-part of it. XFile is generated automatically in Direct3D9 but is not supported.
xoofx's Avatar
By- xoofx
Yesterday 23:38
Direct 2D 1.1 Books and Resources? Unfortunately, there is no serious book about Direct2D. Probably the best place to start is from MSDN. There are also lots of samples in Windows 7 SDK and Windows 8 SDK. There is a Pluralsight course on "Direct2D Fundamentals", but don't know much...
xoofx's Avatar
By- xoofx
Yesterday 23:26
SharpDX in Javascript project under WinRT and WindowsPhone 8 You can't expose directly SharpDX classes to WinRT. Only WinRT components are accessible from Javascript, so you need to develop a WinRT component that will encapsulate SharpDX. WinRT components are mainly intended for coarse grained level API unlike...
xoofx's Avatar
By- xoofx
Yesterday 23:22
can't enable debugging Specifically for HLSL, no, but you can get some info from D3DBook (Or the book "Introduction to 3D Game Programming in DirectX11"). There are a couple of differences between ShaderModel 3.0 and 4.0: Understand constant buffers SamplerState and...
artiom's Avatar
By- artiom
17 May 2013 11:50
Resize Direct2D1.RenderTarget Looking at the SharpDX.Direct2D1 namespace, it looks like only WindowRenderTarget has the Resize method.
Curator785's Avatar
16 May 2013 14:41
Internet Relay Chat (IRC) From the looks of it, it is already register to Asendion Jan 25 2013 *** -to ChanServ-: info #SharpDX *** -ChanServ- Information on #SharpDX: *** -ChanServ- Founder : Ascendion *** -ChanServ- Registered : Jan 25 04:21:13 2013 (15 weeks, 6 days,...
Powered By nZambi!