当前位置:首页 > 每日看点

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

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

真用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

分享给朋友:

相关文章

B 站上有哪些很好的学习资源?

B 站上有哪些很好的学习资源?

前!方!高!能!精选了多位学习Up主,不乏百万粉丝的大V,还有超多珍贵的学习资源推荐。 进了小破站,完全不用担心学完了该怎么办?因为根本学不完啊!!!B站的学习干货实在太多了! 语言学习葉子先生酱 https://space.bilib…

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。 然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。 还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙…

到什么程度才叫精通 Linux?

我们医院有个大牛。 有一次,我的Linux电脑下载了Microsoft office 365 不能运行。于是买了2.5升装康师傅冰红茶找到大牛,让他帮忙解决。 大牛白了我一眼,让我把安装包发给他,只见他输入一个命令将安装包打开,整个屏幕都是…

有哪些网站,一旦知道,你就离不开了?

有哪些网站,一旦知道,你就离不开了?

这六个网站,一旦用过,基本上是离不开了。都是我超爱的一些网站,基本上每天都用。 1 地图生成器 第一个,我要给大家推荐的是地图生成器。可以下载到各省,各市,各县的svg格式的地图素材。 这些素材导入PPT中都是可以编辑的。 可以单独更改颜色…

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。 虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。 因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。 我每天特别…

提升自己最快的方式是什么?

提升自己最快的方式是什么?

1. 稻盛和夫说过: “改变自己最快的方法就是做自己害怕的事,不敢做的事,认为自己做不到,觉得不可能的事。如果在自己的舒适区待久了,就会丧失斗志,如果想快速的改变,可以坚持去做一些对自己有益的事。 2. 早睡早起,坚持运动 保持旺盛的精力,…

发表评论

访客

看不清,换一张

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