最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:4

【性能优化】unity为什么采用mono而没有用c++?

 attach_img

4

帖子

9

回复

13

积分
最后登录:
2025-04-26 18:33
注册时间:
2022-11-13 16:11
楼主
  发表于:2025-04-26 22:46:58|查看用户信息

u3d使用c#作为首选脚本,生成的pc端exe采用mono实现。mono具有跨平台优势无疑,那么为什么没有像其他引擎一样采用c++作为脚本,生成原生exe呢?

3

帖子

15

回复

17

积分
最后登录:
2025-04-26 19:16
注册时间:
2024-07-11 15:29
1 楼
  发表于:2025-04-26 22:47:25|查看用户信息

UnrealEngine核心是C++写的,脚本是自己的发明,因此需要自己写一套东西来支持这个脚本。


CryEngine核心是C++写的,脚本是Lua,因此它必须引入lua引擎来解释lua。


Unity核心也是C++写的,脚本用C#,而mono能够支持这个脚本。


6

帖子

7

回复

11

积分
最后登录:
2025-04-26 19:59
注册时间:
2024-10-11 22:10
2 楼
  发表于:2025-04-26 22:47:48|查看用户信息

首先,Unity 引擎底层是用C++写的,而Mono为它提供了脚本化的环境,所以说Unity选择什么编程语言来作为它的脚本语言,很大程度上取决于Mono,Mono目前支持的语言有C#、Visual Basic、JavaScript、Python等等,只要官方愿意做这样的事情,编程语言都不是问题,为什么不选择C++呢?答案是为了降低门槛。

5

帖子

9

回复

13

积分
最后登录:
2025-04-26 20:40
注册时间:
2024-03-30 12:14
3 楼
  发表于:2025-04-26 22:48:22|查看用户信息

c++对开发人员要求要高,C#降低门槛

现在的工具都是在走低门槛路线,以此吸引更多的用户建立自己的生态圈。

swift的出现很大一部分原因也是为了这个目的


6

帖子

7

回复

12

积分
最后登录:
2025-04-26 18:36
注册时间:
2023-03-12 11:33
4 楼
  发表于:2025-04-26 22:49:05|查看用户信息

java需要jvm有版权问题,用在移动领域性能也不太好,python是脚本不适合大型开发比较慢,javascript是脚本也比较慢,c++复杂工程期长,objc是苹果的,只能选mono加c#了,主要是容易开发业务逻辑。

共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录