SharpDX是否已经成熟到可以采用,还是我现在应该立即开始使用SlimDX?


10

我将停止在XNA中的游戏项目,因为据我所知,它的开发即将结束(并且它已经落后于当前技术了)。因此,我需要采用新的框架或API。

我花了2天的时间研究C ++,并认为它确实不适合我-但是我确实发现对DirectX的原始访问很有吸引力。SharpDX听起来是一个不错的起点,但是它没有文档,也没有代码注释。我觉得还没准备好使用。

我对使用过这两个框架之一或两者的人们的观点感兴趣,以帮助我确定应该学习哪个框架?感谢您的任何建议。


1
非常会话性的问题:)。SharpDX可能与SlimDX一样成熟,因为它直接从标头生成-这样,他立即获得了100%的DirectX包装。这两个库本质上是相同的。因此您可以仅将SlimDX样本用于SharpDX。
乔纳森·迪金森

1
就兴奋而言,您可能不愿意接C / C ++。只要您处于受管理的级别,就永远不会遇到真正的问题,IMO。尽管有人接受过C ++的正式培训,但长期以来一直受托管语言的人发誓。只是一个观察。不要用力地避免C ++ 。如果您这样做的话,肯定会限制您在该行业中的选择,而相反的做法绝对不是正确的,因为事实上,它为您提供了进入其他行业(医疗,金融,国防)的坚实切入点。仅供参考,那里的平均工资要好得多。
工程师

我对DX确实很感兴趣,即使我最终可能将项目移植到Slim或Sharp上,我也肯定能听到您的意思。继续学习C ++可能对我很有帮助,这样我就可以克服这种不适感。我想想从现在开始的12个月后,如果我需要使用C ++ / Direct X,那么我可以选择这样做,如果它是完成这项工作的正确工具。
加文·威廉姆斯

Answers:


16

我是SharpDX的作者,所以我的建议会有所偏颇,但是我至少希望对您的一些担忧做出回应。

关于SharpDX文档,当前状态非常有限,因为到目前为止我一直在努力从.NET和新的Win8 OS中引入整个DirectX API。在此方面,我已经结束了我的工作,我正在努力提供一个完整的网站和一些文章,以解释SharpDX的关键概念以及如何充分利用它。另外,请记住,该项目主要是为了将DirectX引入.NET,因此它仍然是一个低级API。因此,它需要您深入研究C ++ API的行为,以了解其工作方式。幸运的是,SharpDX中几乎每个方法都可以映射到DirectX API中的一个方法,因此通过检查DirectX API可以很容易地检查如何使用方法。SharpDX 2随附的文档系统。

SharpDX准备好用于开发游戏了吗?简而言之,是的。

首先,我被一家日本公司聘用,参与了C#新3D引擎的开发,并且我们将SharpDX用于Windows的渲染后端。

其次,我收到了来自使用SharpDX开发多媒体应用程序的公司的开发人员的私人邮件(包括游戏,关卡编辑器,在线照片发布等)。这些客户中有一些很大(不幸的是,我不能引用他们)。

最后,一些公共开源项目正在使用(或将使用)SharpDX作为其主要后端渲染。例如,Delta Engine已经在其Direct3D11渲染中使用SharpDX(也将在Win8中使用)。Upcomming ANX项目(一个开放源码的XNA继任者)也使用SharpDX的渲染,游戏手柄和音频管理。

但是SharpDX只是构建游戏引擎和开发游戏的第一步。因为API是低级的,所以您不能期望拥有与XNA这样的框架所使用的相同的高级功能。但是,使用最小的框架,您可以做很多事情。

另外,您可以考虑使用像Unity这样成熟的产品来用C#开发便携式游戏。


1
为ANX +1。当我真的很喜欢XNA的简单性时,这真的很令人兴奋(由于需要大量的boostrap代码,我很快就放弃了#DX)。
乔纳森·迪金森

哇,感谢您添加Alexandre,我今晚只读了一些关于您离开slimDX团队以及您对SharpDX的想法的帖子。看到如此专注的工作真是太好了,有了另一个托管框架也很高兴,托管图形引擎只会变得越来越大,而且我认为我们还没有看到全部的可能性。我只是希望托管代码的性能问题,无论是由于调用时间还是垃圾收集器行为引起的,都可以得到解决或将其最小化以至于无关紧要。您的工作肯定会增加该解决方案。
加文·威廉姆斯

确实有很多选择。我已经下载了Unity。我以前从未看过游戏引擎或类似的东西,因此看看它可以做什么以及如何做应该很有趣。我确实已经用xna编写了我的项目的基础知识,并且它的代码在5000-10,000行左右,所以我想使用该代码。但这距离完成尚有很长的路要走,所以我想,如果我花一两个星期的时间来研究不同的框架和引擎,这并不是一个坏投资。
加文·威廉姆斯

之前从未听说过ANX。非常有兴趣的去向。顺便说一句,您可能希望将帖子上的链接更新为:anxframework.codeplex.com
David Gouveia
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.