Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net SlimDX与SDL-哪一个是最好的?_.net_Vb.net_Directx_Sdl_Slimdx - Fatal编程技术网

.net SlimDX与SDL-哪一个是最好的?

.net SlimDX与SDL-哪一个是最好的?,.net,vb.net,directx,sdl,slimdx,.net,Vb.net,Directx,Sdl,Slimdx,对于那些有经验的人来说,使用VB.NET更容易使用SlimDX或SDL?SlimDX的教程已经是为.NET编写的,但我已经读到SDL它比DirectX本身容易得多。 在我的例子中,我只需要2D图形 还有,你推荐哪种语言。我通常使用VB.NET,但可能互联网上的大多数教程都是用C语言编写的,我认为学习它并不难,因为我知道C和PHP 可能值得注意的是,VB现在支持框架: 入门指南: SlimDX是一个相对低级的库。它让您可以访问DirectX的全部功能,您可以针对旧的传统硬件以及新的高端产品。这也意

对于那些有经验的人来说,使用VB.NET更容易使用SlimDX或SDL?SlimDX的教程已经是为.NET编写的,但我已经读到SDL它比DirectX本身容易得多。 在我的例子中,我只需要2D图形


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

可能值得注意的是,
VB
现在支持框架:

入门指南:


SlimDX是一个相对低级的库。它让您可以访问DirectX的全部功能,您可以针对旧的传统硬件以及新的高端产品。这也意味着很难进行设置,并且需要更多的代码来绘制精灵和文本等简单的东西


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

SDL对于使用旧图形卡的用户来说可能是一个问题,因为旧图形卡往往缺乏良好的OpenGL加速。上次我检查时,SDL的.NET包装也过时了

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

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

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


回答问题的第二部分:

在大多数情况下,VB.NET和C#是相同的

它们编译到相同的最终代码,并具有相同的性能(如果您将溢出检查从每个更改为匹配)。以下是一些区别:

VB.NET

  • 不区分大小写
  • 比C更冗长#
  • 从其基本前辈继承了坏名声,许多程序员(大多是C++的程序员,我认为)似乎把VB.NET看做不如。
  • 比C更不常用#
  • 有“以…结束”,我真希望C#有
  • 默认情况下已启用溢出检查
  • “我的”命名空间
C#

  • 区分大小写
  • 可用性稍差—在VS08中使用了C#和VB之后,我发现C#intellisense的智能性稍差
  • C#要求您转换更多的数据类型,尽管这允许您更灵活
  • 更受欢迎
  • 与Java等其他语言密切相关
  • 有一些VB没有的东西,比如“不安全”关键字
  • /*简单的多行评论*/
  • 默认情况下已关闭溢出检查
  • 没有“我的”命名空间
选择VB.NET还是C#并不重要,主要的区别只是语法上的,而且事实上很多程序员倾向于轻视VB.NET为“劣等”(我认为这只是编程语言,但不幸的是,事实就是如此)

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

  • 改变不会太困难,因为它们基本相同
  • 学习另一种语言总是一件好事
  • 正如您所说,C#有更多的教程可用,这将节省您翻译代码的时间
  • 从职业的角度来看,能够说你已经用C#做了一些事情是很有用的

为什么不试一试呢?我能想到的唯一缺点是,您同时学习两件事(SDL/SlimDX+C),但实际上,C非常容易。

是的,我已经听说过,但这对我来说并不重要,因为我计划使用WinForms。无论如何,谢谢。:)@烧焦可能很有趣。我不知道这是可能的。但是有任何依赖关系吗?这是因为我正在构建一个库,它很可能会被分发出去。@Scorch Only on
XNA
本身,我认为.c#NET在功能上几乎与VB.NET相同。唯一的区别是在语法上,一两周后,会感觉到第二天性。也许最好熟悉C#.NET,因为你会流利地使用一种更多程序员都知道的语言。只是好奇,你从哪里得到的关于SDL可能是旧硬件的一个问题的信息?我以前从未听说过,考虑到SDL的悠久历史,我认为这些信息是错误的。根据我使用SDL的经验,它最终在软件方面做了很多工作,因为获取硬件表面似乎很困难(至少在我可以测试的所有硬件上)。我有几台旧计算机完全被SDL应用程序阻塞,但SlimDX运行得很好。这不是一个问题,因为它不工作,但你得到了真正惊人的性能,因为没有硬件加速和CPU有点慢。DirectX的优点是即使使用古老的图形卡,也能很好地工作,因此即使在古老的系统上,您也可以获得可接受的性能。当然,如果您不担心P2-4s等较旧的硬件,这也没关系,因为任何现代设备都可以在纯软件模式下充分运行SDL。我试试看,看起来不错。谢谢。:)我认为学习C#对我来说并不难,因为我已经有了一些阅读C#代码并手动将其翻译成VB.NET的经验(有时代码非常简单,我不使用任何自动工具)。我也有使用类似C的语法的语言的经验。主要的问题是我已经在VB.NET中开始了我的项目,但这并不重要。我会重新开始的。这应该不难