寒霜引擎为什么用C#开发而非C/C++?性能较孤岛呢?

发布网友 发布时间:2022-04-23 08:28

我来回答

2个回答

热心网友 时间:2022-06-18 09:41

所谓游戏引擎就是封装底层硬件加速接口的细节,并给游戏设计人员提供完善的实现游戏所需功能的接口。寒霜引擎需要同时支持XBOX,PC,PS3 3大平台,所以必须采用解释性语言开发呀。据我所知PC平台有两个api:direct3d和opengl,open是开源的,direct是微软自创的,只能运行在Win系统中,其他两种平台不是很了解。选C#正是因为它拥有C/C++的强大功能以及VB简易使用的特性,且与Java有着惊人的相似,并且它借鉴了Delphi,与COM是直接集成的,而且它是微软公司.NET框架的主角。孤岛很强悍,但是寒霜同样不容小觑,只是现在专供战地系列,其性能表现需得到进一步评测。

热心网友 时间:2022-06-18 09:41

一般来说游戏引擎底层肯定是c/c++的,上层搞个脚本写点逻辑能调用下底层api就完了,脚本还能热更新啥的,比如用lua脚本的游戏相关就很多,所以估计是有过py交易或者内部有人喜欢C#才会搞这个,也就是不用脚本而用C#来开发游戏逻辑
使用C#进行游戏逻辑开发优点还是有的,首先mono是跨平台的并且受到微软更好的支持了,这是C#的运行库,而且这个环境可以使用众多.net的类库,然后就是C#是强类型的,拥有准确迅速的智能提示和语法检查,游戏引擎里的api众多,一个个记会把人*疯的,也不利于上手,通常就是一个对象里,我觉得他应该有move方法用来移动,我就靠智能提示看下有没有类似的方法,参数是啥。
另外C#也是解释性语言中性能比较好的,你真要用它写点消耗CPU厉害的算法,用lua的话就完了,C#还能挺住,最后就是既然是游戏引擎,深入的开发使用,c++其实是逃不掉的,C#和c++本身还是比较接近的,开发人员更容易一起使用两者。
再比如做网游还有服务端,服务端对性能要求也很高,可以用.net core来做也是C#语言,而游戏是用C#开发,两者互通的话可以共享很多的代码,甚至可以直接共享dll 类库,保持两边通讯代码和同步计算的代码更统一,这也是目前流行的 u3d 和 .net core配合的很大优势。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com