当前位置:首页 > 每日看点 > 正文内容

游戏服务器开发为什么很少使用Java?

卡卷网1年前 (2025-01-17)每日看点208

真用Java写过上线的大型游戏项目服务器的路过。根据我的使用经验,如果是卡牌、回合等弱战斗的还好,但是对于MMORPG,动作类,Java可以写但是使用过程中存在以下问题:

1、缺少值类型影响较大,很多游戏项目中对于数值计算是强需求,对于移动、战斗、寻路、物理等逻辑都需要大量空间位置,旋转这类计算,Java缺少值类型的情况下不得不用class来实现各种Vector3,Vector4,Matrix等,实测这么做会造成服务器较大的GC压力,而且会限制你没法把移动、战斗等做的较为复杂,做复杂了内存和GC就炸了,而且因为内存不连续导致计算性能也差口气。

2、缺少运算符重载影响中等,游戏开发中会使用较多的数学和物理公式,有没有运算符重载写出来的就是两个长相,没有写出来的计算公式看着比较丑,并且难以理解,不过也不是不能用。

3、与C++交互能力较差影响较大,目前游戏开发中大量的第三方的开源库或者中间价都是使用的C++开发,与C++的交互能力对于游戏项目来说还是很重要的,你总不想连物理库之类的都自己写(2D还好,3D物理库写起来会要命)。

4、内存问题:影响较小,这个还好,Java会多吃不少内存,但是总体还在可接受范围之内。

5、共享逻辑:影响较大,客户端基本是C++(UE)/C#(Unity)/Lua,用Java几乎就断绝了和客户端共享逻辑代码可能性,而对于很多强战斗的项目,两边共享代码非常重要,一个基础库要用两种语言实现两遍,尤其是还要保证计算结果的一致性的时候那就非常痛苦了(曾遇到过两种语言因为数学库的实现的细微不同导致计算结果不一致的。。。)

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9606.html

分享给朋友:

相关文章

中国芯片产量达1399亿颗,这意味着什么?

美国并不是没有明白人,只是特朗普不懂芯片产业的情况,冒冒失失在ZZ正确下,开启了对中国芯片的掐脖子,结果没掐死,反而让人练出了铁肺。芯片是所有科技产业的上游,美国原本在上游呆得很舒服,靠英伟达、AMD、德州仪器、高通等这些几十年霸主地位的公...

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收小哥年纪不算大,目测二十多岁他的手机上全是一道道极严重的划痕,有点卡,他开热点了,热点名就是手机型号,红米9a,我父母的同款现在他那边操作了一会,然后又是我这边操作了一会小哥看着我手机刷刷的,颇有些好...

为什么有人觉得华为mate60只值2000?

为什么有人觉得华为mate60只值2000?

你以为买Mate60的人真的傻?真的那么爱国?国庆前,我家那傻子加价800多买了一台Mate60,当时还被我骂他是傻子。可是他说一回到公司就被老板同事朋友看到,拿去反复查看,都在惊叹他这么快就买到新机。跟亲戚朋友聚会,别人一看就知道他买的是...

如何进行 Elasticsearch 调优实践?

如何进行 Elasticsearch 调优实践?

面试官心理分析这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s ,坑爹了。第一次搜索的...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

如何做电商行业?

如何做电商行业?

“如何做电商*开网店”跟“如何找老婆”一样,没概况条件、没明确标准,就是扯犊子。我把话题具体一点说:具备“两三万”启动资金、掌握“选品+上架优化”基础技能,小则月入三五千、多则上万。跟摆地摊一样,有进货的钱、也不怕苦不怕累、稍微有点生意头脑...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。