查看: 643|回复: 0

C++开发效率特别低,为什么很多游戏服务端用C++语言来写呢!

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-2-17 14:04:49 | 显示全部楼层 |阅读模式
C++开发效率特别低,为什么很多游戏服务端用C++语言来写呢!https://www.gmbbs.net/

从应用领域来看,C适合开发游戏服务端软件、桌面应用、游戏、实时系统、高性能计算、嵌入式系统等。以游戏服务端为例,不同游戏服务端之间在业务逻辑和适用架构上也有很大差异。例如,对于大多数游客和页面游客来说,快速的开发速度并不需要太高的实时性能和计算效率。在这些领域使用碳就像杀死一只生金蛋的鹅。现在我要分别谈谈C语言和其他编程语言在游戏开发中的优缺点:
既然C语言开发效率很低,为什么很多游戏游戏服务端仍然使用C语言来编写呢?
c:
网络信息作战:这是历史上的一个主要考虑因素。近年来,几乎所有的主流后端语言都已经打包了高效的网络IO库,而C语言不再具有独特的优势。
CPU利用率:无需讨论C在这方面的优势。
实时性:无气相色谱,可控内存分配延迟(内存池,预分配等)。),需要毫秒延迟的高频事务正在使用中。
稳定性和容灾性:用c语言编写长期稳定的游戏服务端程序对开发团队来说是一个相对较高的要求,尤其是在复杂的逻辑和频繁变化的前提下。语言本身并不能保证内存访问的安全性,内存写越界导致的崩溃也很难定位。我国某大型工厂采用了数据与逻辑进程分离、进程间共享内存进行通信的方法,以实现逻辑进程在不丢失数据的情况下崩溃和重启。然而,这种方法有一定的门槛、性能开销,并且对开发效率和灵活性有较大的限制。集成第三方库并不容易,也不能被视为常见的最佳实践。
开发效率:如果你有良好的内力和C语言编程素养,并配合一些现代C语言的语法(自动、lambda、智能指针等)。),开发效率仍然很低,但是与下面讨论的其他语言相比,它仍然处于劣势。然而,达到上述水平的人力资源成本远远高于其他语言(人员补充速度、培训时间和工资)。综上所述,这方面可以看作是c的一个大短板。
Java:
优势:
生态圈成熟,水库丰富。
网络图书馆具有强大的性能。
Scala和kotlin也可以用于糟糕的语法。
缺点:
除原始类型外,不支持自定义值类型。泛型通过类型擦除来实现。这种特性使得连续紧凑地表示数据以优化算法的缓存命中率变得困难。例如,2D地图的每个网格坐标都是一个对象。3D场景的碰撞体积的每个顶点都是一个对象。这给对实时不太友好的气相色谱增加了更多的压力。
成熟的JVM实现不太重视实时GC。如果触发超过100毫秒的世界冻结时间延迟,所有在线玩家都会受到影响。
当预热不足时,JIT有时会导致性能曲线不平滑和意外的响应延迟。
C#:
优势:
友好的发展,甜蜜的语法。
有真正的泛型和值类型。特定的算法有利于优化。
缺点:
微软。微软。微软。在视窗游戏服务端下运行不成问题,但除了许可费,大多数主流开源软件都优先考虑Unix/Linux,如Redis (官方长时间不支持视窗版本)和MongoDB(视窗下的性能比Linux下的弱),而且视窗游戏服务端的网络性能也较弱。除非解决方案都使用微软系列桶,否则部署和操作需要同时维护两个平台.对于Mono来说,与JVM相比,它就像一个玩具。我只能期待罗莎琳成熟。
气相色谱在实时方面类似于Java。
开始:
优势:
语法简单,容易掌握。
开发经验是友好的。
有值类型。
新版本的围棋,气相色谱具有良好的实时性能(1.8声称STW被控制在1毫秒以内)。
缺点:
,没有范例,有些地方需要转换成接口{},但是编译器会做转义分析,不必要的地方不会自动装箱,影响不太严重。
铁锈:
优势:
运行效率与c相当。
优秀的语言特征。
编译时间确保了内存安全性,而没有垃圾收集开销。
编译时确保线程安全,可以安全并发,并且易于编写

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表