栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么只有少数几个用Java编写的视频游戏?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么只有少数几个用Java编写的视频游戏?

游戏开发世界是一个有趣的世界:一方面,他们通常很快就会接受新的想法,另一方面,他们仍然处在僵局。

事实是,切换到.NET / Java /除C / C ++之外的任何东西的动机很少。

大多数游戏公司从其他公司获得游戏引擎的部分许可。这些部分是用C ++编写的,尽管您可以访问源代码以便移植,但是这需要花费很多精力(当然,许可证需要允许它)。

同样,C
++中已经存在许多旧代码。如果以前项目中的代码可以重复使用(例如,如果您要编写续集),则更重要的是坚持使用相同的语言,而不是用新的语言重写(因为这样很可能会重新引入)大量的错误,您需要花费一些时间来解决。

最后,无论如何,用100%C ++编写游戏都是很罕见的-
使用脚本语言可以完成很多工作,无论脚本是自定义的,还是只是集成现有的语言(Lua如今都是最受欢迎的语言之一)。

就垃圾收集而言,这可能是个问题。问题不仅仅在于它存在,还在于它是如何工作的-
垃圾收集器必须是非阻塞的(或者至少保证仅非常短暂地阻塞),因为将游戏冻结10秒钟是不可接受的,它会扫描所有分配的内存,以查看可以释放的内容。我知道Java在接近用尽内存时(在某些游戏中,它会)会在GC’ing中阻塞很多。

您的工作也受到更多限制:由于运行时的开销,您无法充分利用硬件。想象一下Crysis是用Java编写的……即使这是唯一可见的区别,也不会是相同的(我也很确定您需要Core
i7来运行它)。

这并不意味着这些语言没有在游戏开发中占有一席之地-不,我不仅指工具编程。对于大多数游戏,您不需要C
++带来的额外性能(包括3D游戏),而且如果您是从头开始编写所有内容,那么使用XNA之类的东西就很有意义了-实际上,很有机会。

就商业游戏而言-RuneScape算在内吗?那很可能是最成功的Java游戏。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号