寒霜引擎為什麼用C 開發而非C C ?效能較孤島呢?

時間 2025-03-28 01:20:17

1樓:網友

一般來說遊戲引擎底層肯定是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配合的很大優勢。

為什麼說c++開發效率低,執行效率高,c#開發效率高,執行效率低?

2樓:網友

c++本身沒有高階記憶體管理機制 而且微軟也不給c++提供快速開發支援,c#剛好反過來。 這兩個對於開發效率是最致命的。

但是相應的c#是託管執行的,c#程式的工作環境就好像乙個模擬器。遊戲模擬器得在效能幾十倍的cpu上才能達到原有的效果;當然c#不會慢得這麼恐怖。

於是造成了開發c#程式快,但是跑著慢;開發c++程式時間長,但是跑起來快。

3樓:網友

都是相對而言的,前者因為各種各樣的原因,當然可能最多的是對記憶體的管理,所以開發效率低(因為麻煩多,容易錯),正因為如此執行的效率反而更高,c#寄託於。net框架,包裝良好,很多東西都整合在。net框架裡,不用親自去管理,所以開發效率自然高,執行起來相對會更慢。

當然一般桌面的應用,由於當今的硬體高度發達已經無所謂這種速度上的差異了,c++這時候只不過很多情況下,由於以前的系統是c++的所以要沿用而已。因為特別注重效率的地方用的是c。當然現在c++仍然能佔主流的大概就是影象處理了。

4樓:

開發效率低就是指開發需要很長時間,但產品出產率低。

執行效率麼,就是越接近機器語言,執行效率就越高。

c和c++的優點決定它執行效率高,這種說法是從語言自身特點出發考慮的。

5樓:匿名使用者

同樣作用的程式,c++開發10天,c#一天。

同樣作用的程式,c++執行一分鐘,c#執行十分鐘。

遊戲公司都是c++開發遊戲嗎,為什麼不用c語言和c#?

6樓:網友

它適copy合編寫規模較小的程式bai,而一般遊戲程式都很大。

不要誤導人,難道你覺得作業系統的dao規模以及難度還不如乙個遊戲程式嗎?

為什麼用unity3d開發遊戲是用c#js開發而不是用c++

7樓:仝風隱濡

unity3d採用c#作為開發語言,由於c#完整的物件導向特性和諸多語法便捷性。至於這個遊戲引擎本身自然不會是c#開發。

8樓:源

c#和c++差不多的可好,只是c#是微軟搞的,學習和使用起來比c++簡單點,缺點也多哦。

9樓:網友

考慮到只是要用來寫指令碼,c++效率未免太低,u3d已經是很成熟的遊戲引擎了,對美工模型的需求反而大一些,其實不用糾結這些的,c#比起c++來說不是快捷了許多嗎,並不需要你接觸太過於底層的東西,除非你是想自己寫u3d這樣的遊戲引擎供別人做,那麼c++那確實是不二之選,當然,你起碼還得學一定圖形學知識,掌握opengl或者dx圖形介面之一,做事情肯定要越方便越好啊。

現在開發桌面應用程式是用c#還是c++比較好啊?為什麼j**a不是開發桌面應用程式的主流啊?

10樓:網友

當然c十十,c井又不能直接呼叫系統dll

維他命C有啥用 維C有什麼用?

美白,抗氧化,促進新陳代謝。維c有什麼用?服用維生素c有許多好處 第。一 維生素c可以增強人體的免疫力,殺滅多種入侵的細菌,對於身體的損傷有很好的修復作用。第。二 維生素c也稱抗壞血酸,可以抗壞血病。第。三 還能夠美白養顏,對於提高機體的抗病毒能力有一定的好處和療效。但是如果經常吃維生素c,也有一定...

教師C證有什麼用

布樂正 作用是指導學生的日常生活學習生活。積極的指導意義。中小學心理教師培訓課程 系列的出版,是我省中小學心理健康教育工作者集體智慧的結晶和教育成果的展示,她將對全省中小學心理健康教育的規範執行和教育質量的提升起到促進作用 對推動全省中小學心理健康教育教學的深入和專業化 科學化 規範化的發展,具有積...

c在c語言程式設計裡是做什麼用的, c 在C語言程式設計裡是做什麼用的??

山大威海校區 通過你的描述我大概知道你要表述的意思了,fscanf是進行檔案讀取操作,而檔案中資料的存放格式是用中間 來描述規範的,當然,第一項大家都知道,是開啟檔案的指標 file,這裡是output fopen 至於第三項,是要儲存的位置,你的情況是 c字元,而 c就是檔案中的間隔符。 百小度 ...