c# XNA 或 c++ directX11 在未来
c# XNA or c++ directX11 in the future?
我最近开始学习XNA,非常喜欢它,它是托管代码。但是,在进行了一些阅读之后,似乎对于Windows 8和Windows 8手机,XNA将不会更新以使用这些新功能,并且将使用Directx11。
那么,有谁知道这是不是真的?我不懂任何 c++,但我对 c# 相当有信心,所以我想坚持使用 XNA,但如果将来会使用 c++ 和 Directx,也许我现在应该切换?另外,如果我知道 c#,学习 c++ 有多难?
如果情况是 directX 是未来的方式,我可能会使用 Unity,这样我就可以继续使用 C#。
非常感谢有关此主题的任何帮助,非常感谢
在去年的Build大会和其他场合,MS的Herb Sutter是这样谈论的(转述):
在过去的十年中,硬件功能变得更加强大,以至于我们能够承受像.net这样的生产语言的开销。如果我们突破性能限制,那又怎样,明年计算机将毫不费力地处理它。使用托管语言制作软件的成本低于本机语言,并且我们拥有减轻托管开销的硬件能力。
在未来十年中,用于完成工作的硬件将变得越来越小,移动性越来越低,功能越来越弱,越来越节能。突然之间,软件中的代码效率和性能变得越来越重要。到目前为止,本地人具有这种优势。
我想由于图形软件(游戏)可以是一个快速达到性能限制的开发领域,因此这可能是最早经历这种转变的领域之一,这是可以理解的。
我所知(以及从网络上找到的信息来看),Windows将远离XNA,尽管从技术上讲它应该是向后兼容的。如果您正在寻找有关 XNA 未来的文章:
https://gamedev.stackexchange.com/questions/22292/what-is-the-future-of-xna-in-windows-8-or-how-will-manged-games-be-developed-in
坚持使用 C#,您的开发速度更快,性能差异不会太大,因此您不必抱怨它。
如果你不想也瞄准移动平台,我建议使用OpenGL,它很难开始,但你应该能够开发一个支持移动和桌面平台的框架(使用MonoTouch和Monodroid)。
对于那些现在尖叫DirectX更好的人:我知道,一般来说你是对的,但DirectX在iOS和Android等移动平台上不受支持。所有平台都有一个XNA克隆,它可能正在工作,但我不知道它是否会支持新的DirectX/OpenGL功能。
- 在Linux中哪里可以找到互斥、未来等的源代码
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 使用 std::string () const 函数启动线程或未来
- QVTKWidget在VTK 8.1中已弃用,并将在未来的版本中删除
- 如何在不设置值的情况下通知 c++ 未来?
- C++ 未解析的标识符未来
- 在 directx11 代码中更改全屏模式下的刷新率不起作用
- 未来值公式显示疯狂巨大数字的输出
- DirectX11 IASetVertexBuffers with nullptrs or empty buffers
- 未来由函数返回
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 无法调用未来::获取存储在地图中的未来
- DirectX11只绘制填充索引和顶点缓冲区中的一半顶点
- 未来C++标准支持"Declaring type template parameters with auto"
- Directx11 加载纹理
- 是否有一些东西限制了未来引入多个返回值C++标准?
- 为什么是标准::未来不阻塞
- C++发布版本中的未来错误值
- 为什么C++线程/未来开销如此之大
- c# XNA 或 c++ directX11 在未来