App下載

java版我的世界為什么又改用C++開發(fā)?C++相比java有哪些優(yōu)勢?

紫色的彩虹 2023-05-30 14:32:23 瀏覽數(shù) (4060)
反饋

Minecraft是一款非常受歡迎的沙盒游戲,它最初是用Java語言開發(fā)的。然而,隨著游戲的發(fā)展和擴(kuò)展,Java版本的Minecraft開始面臨一些性能和兼容性的問題。為了解決這些問題,Minecraft的開發(fā)團(tuán)隊決定用C++語言重新開發(fā)游戲,這個版本被稱為Minecraft Bedrock Edition。本文將介紹一下Minecraft為什么要用C++重新開發(fā)的原因和優(yōu)勢。


首先,C++是一種編譯型語言,它可以直接編譯成機(jī)器碼,而不需要通過虛擬機(jī)運(yùn)行。這樣可以提高游戲的運(yùn)行速度和效率,減少內(nèi)存占用和垃圾回收的開銷。C++也可以更好地利用多核處理器和圖形處理器,提升游戲的渲染能力和幀率。

 java確實可以用來開發(fā)桌面應(yīng)用,但確實不如C++,不論是swing還是javaFX。

其次,C++是一種跨平臺語言,它可以在不同的操作系統(tǒng)和設(shè)備上編譯和運(yùn)行。這樣可以讓Minecraft更容易地支持多種平臺,包括Windows、Mac、Linux、Android、iOS、Xbox、PlayStation等。C++也可以更方便地與其他語言和庫進(jìn)行交互和集成,增加游戲的功能和擴(kuò)展性。

 java號稱一處編譯,處處運(yùn)行,按照字面意思,java編譯后的程序應(yīng)該能在其他平臺(至少是手機(jī)端)上運(yùn)行,但反常識的是,雖然安卓有java虛擬機(jī),安卓應(yīng)用的主要開發(fā)語言也是java,但電腦版的Minecraft(java版)并不能在手機(jī)上運(yùn)行。

最后,C++是一種成熟和穩(wěn)定的語言,它有著豐富和完善的標(biāo)準(zhǔn)庫和第三方庫,以及廣泛和活躍的社區(qū)支持。這樣可以讓Minecraft的開發(fā)者更容易地找到和使用各種工具和資源,提高游戲的質(zhì)量和安全性。

 其實還有一種說法,原Minecraft開發(fā)廠商mojangAB的代碼風(fēng)格過于隨意,微軟收購后難以對其源代碼進(jìn)行修改,所以最后打算重構(gòu),而微軟公司的員工更擅長于C++,擁有豐富的C++開發(fā)經(jīng)驗,所以最后選擇了C++進(jìn)行重構(gòu)。這種說法的論據(jù)是Minecraft的指令系統(tǒng),C++版的和java版的命令只能說有相似之處,本質(zhì)完全不同,甚至沒有nbt標(biāo)簽!

總之,Minecraft為什么要用C++重新開發(fā),主要是為了提高游戲的性能、兼容性、功能和擴(kuò)展性。通過使用C++語言,Minecraft可以為玩家提供更流暢、更美觀、更多樣化的游戲體驗。

 想要了解C++?來看看C++課程列表 

0 人點贊