search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

Egret Engine5.0發布,率先支持WebAssembly性能大幅提升

白鷺引擎團隊歷經半年封閉開發於5月24日推出 Egret Engine5.0,本次大版本更新率先支持 黑科技WebAssembly技術、完全支持 ES6、增添支持項目模塊化升級等新功能,實現開發運行性能大幅提升。這些功能對於開發者都有哪些幫助,現已被一一揭曉。

一、率先支持 WebAssembly

l 什麼是 WebAssembly?

WebAssembly是由谷歌、蘋果、微軟和Mozilla的工程師合力創建(又名wasm)的最新國際前沿技術,能夠運用在未來瀏覽器中承諾可帶來20倍更快性能的位元組碼(bytecode)。WebAssembly項目創造全新的位元組碼(一種機器可讀的指令集,能夠更快為瀏覽器載入高級語言),讓桌面和移動端瀏覽器相比較網頁或者應用的整體源代碼變得更加高效。

l 為什麼要做 WebAssembly?

眾所周知JavaScript 是解釋型語言,慢,是解釋性語言的主要特點。 Google 在 2009 年在 V8 中引入了 JIT 技術 (Just in time compiling 簡稱即時編譯)。 有了JIT這個buff, Javascript 可實現瞬間提升 20 - 40 倍的速度。但是 JIT 技術也存在缺陷,在即時編譯的時候有些類型無法確定,這個時候 JIT 非但沒有提高效率可能適得其反,所以催生了兩種思路解決這個問題。

一種思路是使用 Typescript、Dart 等強類型語言,實現所有的類型都標註清楚,可把這些語言再編譯成 JavaScript 來運行。

還有一種思路就是以火狐的 Asm.js 為代表的,做一個 JavaScript 子集,利用標註的方法標註變數類型。

Asm.js 相對於 JIT 和原生的性能對比

上圖長度越短說明性能越好,可以發現 Asm.js 是遠遠高於 JIT 的,因為其他方式只能使 JIT 性能快一點,即讓即時編譯速度再快一點,而 Asm.js 已經是編譯好的位元組碼直接運行。

WebAssembly 的工作方式如下:

Egret Engine5.0可以直接將 H5 遊戲代碼編譯成機器碼運行,對比Egret Engine4.0版效率提升可達300%。

說明: 引擎對比

在同一測試平台中,Egret Engine5.0對比Egret Engine4.0效率可提升300%

l 智能切換

Egret Engine5.0團隊進行封閉開發期間,精心研磨著重重寫了引擎底層從而支持 WebAssembly技術,為開發者提供更好的性能。如果瀏覽器不支持 WebAssembly ,5.0版引擎能夠自動智能切換成正常 JavaScript 版本,開發者無需擔憂正常使用。

二、完全支持 ES6、支持項目模塊化升級

l 完全支持 ES6

除了黑科技 WebAssembly技術加持,Egret Engine5.0也完全支持 ES6 (JavaScript語言的下一代標準)新特性,開發效率將大幅提升,提高了代碼健壯性和容錯率,開發者可以隨心所欲的使用 ES6 新特性。

l 支持項目模塊化升級

同時,研發團隊還對Egret Engine5.0進行了模塊化分離,可以支持項目模塊化升級。

例如,開發者經常反饋的聲音問題,Egret Engine5.0在升級后解決了這個問題,但由於是線上項目引擎升級可能會導致不可預測的問題,所以開發者會選擇謹慎升級。而Egret Engine5.0支持模塊化升級后,開發中如果聲音有問題可以單獨升級聲音模塊,且不會影響其他模塊的正常使用,其它模塊升級則同理適用,極大的方便項目管理。

除了以上的特性外,白鷺工具團隊也帶來了全新的遊戲創作工具 Paper,寓意輕鬆、快捷,致力於讓大家更加高效的創作 H5 遊戲。Paper 以可視化製作遊戲為主,編寫代碼為輔,可以進一步的解放開發者。目前該款工具還處於內測階段,正式上線時間待定,頗為值得開發者期待。

Egret Engine5.0的推出標誌著 H5 開發從 JIT 方式向 WebAssembly 方式的邁進,同時也標誌著向模塊化管理項目的進步,白鷺引擎希望用更好的產品服務眾多忠誠開發者,開發者近期可下載最新版引擎,率先觸及黑科技產品帶來的極致性能開發效率體驗。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦