为什么Java不适合游戏开发?

wenzi容谦


主要考虑到效率(代码执行效率、开发效率)问题,写起来没有C那么效率,用java写成本太高不划算,专精不同,java现在广泛应用于web,还有就是C是基于windows对Windows的兼容更好,java是运行在JVM中调Windows系统中的一些接口比较费劲。

java什么东西基本都能开发,只是java致命的是不能直接操作内存,这样使java在开发的时候造成很多局限性.但是java提供了本地方法,可以调用c的类库。使得功能进一步提升。又由于java对于垃圾回收机制是自动的,使得游戏在流畅性上有很大的折扣,所以不适合做游戏。


游戏小孩儿


Java何来不适合游戏开发一说的呢?

毕竟游戏有分类,而且游戏也分客户端,服务端

很多游戏的服务端就是Java的

而且实时性要求不高的游戏客户端,也可以用Java开发,例如 我的世界

我想题主想问为什么3A大作没有用Java开发的吧

这其实是一个路径绑定问题,目前大作基本上都是用游戏引擎做的,而且这些游戏引擎都是发展多年的,如果用Java做,可能要用没经过业内验证的新东西,大公司不想冒险,还有Java的垃圾回收机制本身也是个难点,不适合做实时性非常强的游戏。



极思生广义


JAVA 可以做游戏服务端的开发,也就是网络游戏的开发,网络游戏的实时性高,对高并发,数据的一致性处理要求较高,并且因为是自身JVM 的垃圾回收机制对服务器的内核性能要求高,会占用一定的资源去处理这部分数据,游戏的实时性代表了大量数据会经常被更改替换。

JAVA 不是不能做,而是对开发人员的能力要求高!如果能够充分利用JAVA 的并发优势,那是可以做到的,并且这已经被有些小公司当做网络游戏服务端的开发语言了。

PC 端,移动端的单机游戏就不用再考虑JAVA 了,显然JAVA 的2D3D 处理效果没有一些主流的游戏开发语言好!语言具有其使用场景,抓住其优点去利用之,而不是拿它的缺点如何别的语言优点相比!如今JAVA 是做服务端开发的不二人选,因为他的帝国大厦已经很完善,开发人员也多!


人生路誰主沉浮


因为java中间多出来一个jvm,效率低,游戏实时性很重要。

看一个语言适合开发什么,主要有三点

1.效率问题,包括开发效率和执行效率。

2.生态圈,有人家提供好的成套解决方案,为什么不用呢?

3.产品的侧重点。

就拿java和c++来说,java主要用于web开发,但是c++通过cgi也可以写web,而且c++的执行效率甩java几条街,但是为什么不用c++写web呢,因为c++的开发web的效率太低,而java有各种web方面的框架,开发效率高。

如果产品是游戏,游戏实时性很重要,你玩个游戏反应慢半拍那肯定很恼火。游戏这个产品的实时性就注定了要采用高效率的语言开发,那c,c++自然就跑不掉了。


Sakura1225


如果你问我java适合开发游戏吗?我回答肯定是适合的,java开发效率高,运行效率一般,需要运行效率的地方用c或者cxx写就好了,现在市面大多数游戏都不是单一编程语言开发的,不需要在语言方面纠结太久。

很多人说,运行效率也很重要,但实际上,一般逻辑,你是感受不出差异的,普通逻辑使用java或者c#,或者脚本语言等这种开发效率,调试效率高的语言会让你开发更舒服。特别是脚本语言。

c和cxx只在特别需要效率的地方才使用。


xycode


java开发游戏性能和效率差,开发一些小游戏还可以,java面向对象,所有方法都是封装在类里的,要调用方法就得实例类,而游戏主要侧重的是逻辑

对象就像是很多功能的机器,但是我的游戏逻辑只要每台机器的其中一个功能,但要用的话必须把这一整台机器制造出来。这就是面向对象的缺陷吧

而c是面向过程的可以更加灵活地设计过程逻辑,少去很多多余东西,大大提高性能

java的长处就是利用各种现存的类包,达到复用的效果,大大提高开发效率,

当然java也可以只针对逻辑来设计类,但那不是java的长处,没有多大的意义

百度搜索圈T社区(www.aiquanti.com) 免费视频教程


IT资讯i


做游戏引擎,当然还是看性能啦,c的性能最好。java性能其实也很好了,看谁出个简单快速的框架呗


啊哈哈叫啊


哈啰,这里子期!java开发游戏性能和效率差,开发一些小游戏还可以,远标老师讲过java面向对象,所有方法都是封装在类里的,要调用方法就得实例类,而游戏主要侧重的是逻辑

对象就像是很多功能的机器,但是我的游戏逻辑只要每台机器的其中一个功能,但要用的话必须把这一整台机器制造出来。这就是面向对象的缺陷吧

而c是面向过程的可以更加灵活地设计过程逻辑,少去很多多余东西,大大提高性能

java的长处就是利用各种现存的类包,达到复用的效果,大大提高开发效率,

当然java也可以只针对逻辑来设计类,但那不是java的长处,没有多大的意义


分享到:


相關文章: