亚洲天堂成人在线视频_伊人网狠狠干_亚洲精品综合在线观看_国产在线第一页_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 收藏,436 浏览
  • 匿名 提出于 2024-08-29 22:10

扫码关注微信公众号

QAQ9问答官方公众号
主站蜘蛛池模板: 亚洲四虎 | 在线视频一区二区 | 国产专区欧美 | 一本到在线观看视频 | 日本免费三级网站 | 91在线精品中文字幕 | 中国亚洲女人69内射少妇 | 国产精品天干天干 | 无码gogo大胆啪啪艺术 | 欧美精品小视频 | www国产永久免费视频看看 | 99久久国产综合精品网成人影院 | 四虎电影院 | 成年人电影在线 | 欧美做a一级视频免费观看 欧美做受视频播放 | 精品人妻va出轨中文字幕 | 日本一片免费观看高清完整 | 成人黄视频 | 国产aaaaaa| 亚洲精品色综合色在线观看 | 起碰成人免费公开网视频 | 欧美成人免费草草影院 | 精品人人妻人人澡人人爽牛牛 | 亚洲av无码精品色午夜果冻 | 久久www成人_看片免费不卡 | 午夜国产视频 | 看纯日姘一级毛片 | 97夜夜澡人人双人人人喊 | 中文字幕久久波多野结衣av不卡 | 欧美黑人又粗又硬xxxxx喷水 | 校园激情综合网 | 一级片在线观看视频 | 麻豆av一区二区天美传媒 | 日韩欧美精品综合一区二区三区 | 综合色亚洲 | 粉嫩av久久一区二区三区 | 成人无码α片在线观看不卡 | 日本三级在线播放线观看免 | 免费无码不卡视频在线观看 | 国产色视频在线 | 免费成人高清视频 |