亚洲天堂成人在线视频_伊人网狠狠干_亚洲精品综合在线观看_国产在线第一页_91最新在线观看_国产亚洲久

10 【已解决】 为什么c语言能做大型游戏,而java不适合,c语言跟java不是很相似吗?

请先 登录 后评论

最佳答案 2024-09-01 00:00

java 的基础设施不行。

处理大量小对象以及和 cpp 交互,csharp 可以实现零成本抽象和零成本交互,java 不行。

游戏开发这个场景需要处理大量的小对象,属于 java 的七寸但是 csharp 擅长的。java 没有自定义值类型,这种情况下,要想性能好,得大量的用 float 数组,面向数组编程。面向数组编程,抽象程度就上不去,别扭,本来开发速度都一般,抽象程度再上不去,这就更难受了。

开发处理各种大量的小对象这个环节,不面向数组编程,保持和 csharp 一样的抽象粒度,java 性能只有 csharp 的 1/10 - 1/100。图像处理是和游戏开发很类似的场景,都是要处理大量的小对象。知乎里有另一个帖子测过 java 下用 class 定义像素来做图像处理,和 csharp 近乎两个数量级的性能差距。所以你看开源的各种图像处理代码,java 的都只能在数组上开干,而 csharp 就可以用自定义值类型抽象出像素,用span抽象出行,这个抽象是零成本的。

还有跟引擎和其它底层库的交互,dognet 的话 fixed 一下,直接把指针传给引擎,不需要拷贝数据,对输出值也可以直接处理。java 的话,得把内容序列化后传进去,再把结果反序列化后使用。粗暴点说就是,c艹艹可以艹c艹,直接注入数据。java 得自己撸然后用注射器注射。

还有 byte,游戏面对大量的多媒体资源,java 下那个带符号的 byte,老别扭了。

更别说现在 dognet 标准库里直接内置了 simd,这又是游戏开发喜欢的东西。

仔细研究这些细节,你会发现,只有 c艹艹是游戏高性能快速开发的天命之子,快速开发+关键环节零成本抽象+gc兜底,带着 mono 这个战五渣都能大杀四方。java,python,js,都有上述这些问题,用起来束手束脚的。
请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,414 浏览
  • 匿名 提出于 2024-08-29 22:10

扫码关注微信公众号

QAQ9问答官方公众号
主站蜘蛛池模板: 日本免费在线一区 | 久久成人免费 | 人人干操| 亚洲综合偷自成人网第页色 | 99热久久这里只有精品99 | 少妇被粗大的猛烈进出视频 | 国产精品久久久亚洲第一牛牛 | 男女午夜性爽快免费视频不卡 | 国产精品一区二区免费 | 又大又硬又爽免费视频 | 欧美一级香蕉毛片 | 欧美性猛交ⅹxxx乱大交妖精 | 国产99在线 | 欧美 | 国产精品久久久久久久久久 | 丁香五月欧美成人 | 日韩精品一区二区三区中文 | 国产精品手机在线亚洲 | 黄色成人免费网站 | 亚洲成av人片一区二区密柚 | 91精品国产麻豆91久久久久久 | 亚洲性大片 | 青青成线在人线免费啪 | 成人做爰69片免费看网站野花 | 国内精品久久久久影院日本 | 亚洲国产精品一区二区www | 四虎影视一区二区精品 | 一级全黄男女免费大片 | 超级碰碰青草久热国产 | 特黄色一级毛片 | 亚洲av日韩av永久无码久久 | 2021国产精品成人免费视频 | 欧美aaa性bbb毛片 | 最新欧美伦理网 | 国产精品无码素人福利不卡 | 97se色综合一区二区二区 | 亚洲国产成人久久综合碰 | 制服丝袜综合第八页 | 色狠狠成人综合色 | 亚洲精品123区在线观看 | 狠狠躁夜夜躁人人躁婷婷视频 | 老头巨大挺进莹莹的体内免费视频 |