当前位置:  开发笔记 > 编程语言 > 正文

XNA和DirectX(C#)之间的比较

如何解决《XNA和DirectX(C#)之间的比较》经验,为你挑选了4个好方法。

在PC开发方面(不包括Xbox和Zune),

XNA和C#DirectX有什么区别?C#DirectX是否比XNA具有明显的优势(在速度,版税等方面)?

这两者与速度非托管C++ DirectX相比如何?

游戏编程方面的行业在哪里发展?



1> Soviut..:

如果你真的善于编写非托管代码,那么你可能能够在DirectX之上编写更快的图形引擎.然而,对于业余爱好者来说,XNA 在2D和3D游戏开发方面都有很多表现.

这是一个很好的第9频道视频,他们在Xbox 360上运行XNA制作的赛车游戏.即使在全高清也能运行良好.XNA社区开发了一些XBox Live Arcade游戏.

据我所知,就像C#DirectX一样,Managed DirectX被称为不再正式支持,因为XNA基本上取代了它.我错了,自从我看了它以来已经很长时间了.

XNA和Managed DirectX之间的性能差异可以忽略不计,因为从本质上讲它们是相同的; XNA只有一些便利位,可以减少您需要编写的样板代码量.



2> paulecoyote..:

Xna游戏工作室的重点是解决以游戏为中心的问题,但我会质疑任何海报都说Xna游戏工作室的性能比管理直接x更差,而没有看到一些不错的指标.

MS之外的一个独立小组创建了一个名为SlimDx的项目 - http://slimdx.mdxinfo.com/ 如果您正在编写应用程序而不是游戏(我希望您不是其他问题),那么这可能是值得的考虑.

该行业仍然大量使用C++来实现游戏内容,但是在XBox Live的社区游戏部分使用XNA Game Studio以完全托管代码编写的游戏已成功发布,并在XBox Arcade上发布.关于社区游戏的人数有多少,很快就会有一些有趣的数据.

很多全价游戏都会使用C++,但实际的游戏逻辑就像Lua一样...... Lua并不是以超快的速度而闻名!

C#具有良好的学习曲线,并被业内的工具程序员使用 - 它将成为一种有用的语言.C++将是一种很好的语言,但它需要更多的纪律来创建功能代码 - 并且让新的人有更多的绳索让自己挂起.C#可以动态地改变并执行诸如在运行时展开循环而不是编译时间 - 好的C#可以比良好的可读C++快或快 - 但你必须知道如何使用它.在非常紧凑的循环中,C++和Assembler可能在某些情况下胜出.通常在使用C++的游戏中,自定义分配器是使用自己的内存策略创建的,以尝试帮助正常分配器引起的碎片......这种事情由CLR处理.

如果您正在寻求进入游戏开发并决定使用某种语言(在这些行之间进行阅读,那么最好使用的语言就是您已经完成的语言)最终展示的项目,无论是C++,客观C,C#,Flash,Silverlight等.随着语言的变化和不受欢迎,招聘人员通常会寻求对不同语言的成熟掌握 - 这可能会减少不知道他们目前正在使用的那个 - 并且完成的工作组合将会这样做.



3> Robert MacLe..:

    XNA和DirectX是解决相同问题的非常不同的实现 - 高性能图形密集编程.两者都支持2D,3D,音频和网络组件.只有在XNA是托管代码的情况下,DirectX才不受管理.

    有一个DirectX的托管实现,它是DirectX调用的包装,但是在当前版本之后没有得到更新,所以我不打扰它.

    XNA不是非托管DirectX的包装器.它确实使用了DirectX的一部分,但它不是一个包装器.

    业界似乎仍然非常依赖于非托管DirectX - 我之所以说这是因为所有主要的引擎公司仍然使用C++,ASM和支持DirectX进行编码(单独或与OpenGL for Linux/Mac版本一起使用).微软正在"放弃"DirectX托管包装并告诉人们使用XNA这一事实表明他们正在推动托管开发人员.


不,不是 - 如果您需要澄清,请参阅http://xnarocks.spaces.live.com/blog/cns!CDFDED0A2593C8E1!172.entry.只是给出一个快速示例包装器1:1函数映射.XNA 2.0中的管道内容如何映射到DirectX?它没有.它不是包装纸.
+1,XNA是一个在DirectX之上编写的更高级别的托管代码游戏库.对于很多东西,它甚至不使用DirectX类/结构,而是使用它自己的,最显着的是矩阵,向量和其他一些......

4> Dave Maff..:

目前,似乎微软不打算在Metro风格的应用程序中支持XNA.XNA的替代品和现在已弃用的"Managed DirectX"是SharpDx.这可用于创建Metro风格的应用程序,并且已经对XNA,SlimDX和Windows API代码包进行了有利的基准测试.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有