2011-06-13 118 views
1

对于那些有经验的人,使用VB.NET,使用SlimDX或SDL更容易? SlimDX的教程已经为.NET编写,但我已经读过SDL,它比DirectX本身更容易。 就我而言,我只需要2D图形。SlimDX与SDL--哪一个最好?

另外,您推荐使用哪种语言。我通常使用VB.NET,但很可能大多数互联网上的教程都是用C#编写的,我不认为它很难学习,因为我知道C和PHP。 :)

+1

c#.NET在功能上几乎与VB.NET相同。唯一的区别在于,在一两个星期后,它会感觉到第二性。因为你可以流利地使用更多程序员知道的语言,所以最好能够习惯C#.NET。 – 2011-06-13 21:00:41

回答

0

这也许值得一提的是,VB目前对XNA框架的支持:

入门指南:http://create.msdn.com/en-US/education/gamedevelopment/VBSupportForXNA

+0

是的,我已经听说过它,但这对我来说并不重要,因为我打算使用WinForms。不管怎么说,还是要谢谢你。 :) – 2011-06-13 20:38:06

+0

@Scorch [This](http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1)可能是感兴趣的。 – aligray 2011-06-13 20:59:02

+0

不知道这是可能的。但是有任何依赖关系?这是因为我正在建立一个图书馆,这个图书馆很可能会被分配。 – 2011-06-13 21:24:10

0

SlimDX是一个比较低层次的库。它让您可以访问DirectX的全部功能,并且您可以锁定旧的硬件以及新的高端设备。这也意味着很难建立事物,并且需要更多的代码来绘制诸如精灵和文本等简单的东西。

如果您严格从可用性的角度来看,SDL可能是一个更好的选择。

1

对于使用旧版显卡的用户而言,SDL可能会遇到问题,而这些用户往往缺乏体面的OpenGL加速。上次我检查的时候,SDL的.NET包装器已经过时了。

当我为我的.NET项目寻找一个体面的2D硬件加速库时,我最终使用了一个名为Gorgon的库。它基于SlimDX,它专注于使SlimDX更加面向对象,更易于用于2D应用程序。

它支持渲染到你喜欢的任何控件,你可以自由地将它与Windows窗体的东西混合。性能与SlimDX基本相同,因为它本质上是一个SlimDX包装器。

这里有几个链接,如果你有兴趣:

+0

只是好奇,你从哪里得到关于SDL的信息可能是老硬件的问题?我从来没有听说过,考虑到SDL悠久的历史,我会认为这些信息是错误的。根据我对SDL的经验,它最终在软件方面做了很多工作,因为硬件表面似乎很难(至少在我可以测试的所有硬件上)。 – 2011-06-15 03:18:31

+0

我有几台完全窒息SDL应用程序的旧电脑,但运行SlimDX的罚款。它不是一个问题,因为它不起作用,但是由于没有硬件加速,CPU的速度有点慢,所以你的性能会非常好。即使使用古老的图形卡,DirectX的优势在于可以很好地工作,所以即使在古代系统上也可以获得可接受的性能。当然,如果您不担心更旧的硬件(如P2-4),并不重要,因为任何现代化软件都可以在纯软件模式下充分运行SDL。 – 2011-06-15 03:36:06

+0

不知道那个库。我会尝试一下,看起来不错。谢谢。 :) – 2011-06-15 16:16:06

1

要回答这个问题的第二部分:

对于大多数意图和目的,VB.NET和C#都是相同的。

它们编译为相同的结束代码并具有相同的性能(如果您更改每个匹配的溢出检查)。这里有一些差异:

VB.NET

  • 不区分大小写
  • 更详细的比C#
  • 已继承其基本前辈的名声不好,很多程序员(大多数是C++的我认为)似乎看不起VB。NET作为劣势。
  • 不太常用的比C#
  • 有“With ... End With”,其中I 真的是希望C#有。
  • 具有溢出默认
  • 检查 “我的” 命名空间

C#

  • 区分大小写
  • 略差可用性 - 曾使用这两个C#& VB在VS08,我我们发现C#intellisense的智能性稍差一些。
  • C#要求您更多地转换数据类型,虽然这可以让您更灵活。
  • 更受欢迎
  • 密切相关的其他语言如Java
  • 有VB没有,如“不安全”的关键字的几件事情。
  • /*易多行注释*/
  • 具有溢出默认
  • 没有“我的”命名空间检查关

有极少数的场景中,如果你把它想没关系VB.NET或C#,主要区别仅仅在于语法,而且很多程序员倾向于将VB.NET视为“低级”(我认为这只是编程语言),但事实却是如此,不幸)

也就是说,从VB.NET切换到C#可能是值得的,因为:

  • 它不会是太难的改变,因为他们是大同小异
  • 学习另一种语言是总是一件好事
  • 正如你所说,C#有更多的教程菱,这将节省您的翻译代码
  • 从职业的角度来看,能够说你在C#中做的东西将是有益的

为什么不给它一个旋转?我能想到的唯一缺点是你一次学习两件事(SDL/SlimDX + C#),但实际上,C#非常简单。

+0

我不认为学习C#对我来说不会很难,因为我已经有一些经验阅读C#代码并手动将其翻译为VB.NET(有时代码非常简单,以至于我没有前途使用任何自动工具)。我也有使用C#语法的语言的经验。主要问题是我已经在VB.NET中开始了我的项目,但没关系。我会再次开始。它不应该很难。 :) – 2011-06-15 16:13:21