当前位置: 首页 > 科技观察

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

时间:2023-03-21 18:04:39 科技观察

EgretEngine5.0发布,率先支持WebAssembly,性能大幅提升支持项目模块化升级等新功能,大幅提升开发运行性能。这些功能如何帮助开发者已经一一揭晓。1.率先支持WebAssembly什么是WebAssembly?WebAssembly是由Google、Apple、Microsoft和Mozilla(又名wasm)的工程师创建的最新国际尖端技术,它可以使用字节码(bytecode),有望在未来的浏览器中带来20倍的性能提升。WebAssembly项目创建了一个新的字节码(一种机器可读的指令集,可以更快地为浏览器加载高级语言),以便桌面和移动浏览器可以更高效地比较网页或应用程序的整体源代码.l为什么要做WebAssembly?大家都知道JavaScript是一种解释型语言,速度慢,这是解释型语言的主要特点。Google在2009年的V8中引入了JIT技术(Justintimecompiling,简称即时编译),有了JIT的buff,Javascript可以瞬间提升20-40倍的速度。然而,JIT技术也有缺陷。在即时编译期间无法确定某些类型。这时候JIT可能反而没有提高效率反而适得其反,于是诞生了两个思路来解决这个问题。一种思路是使用Typescript、Dart等强类型语言,将所有类型明确标示,然后将这些语言编译成JavaScript运行。另一种思路是做一个JavaScript的子集,以Firefox的Asm.js为代表,用注解的方式注解变量类型。Asm.js相对于JIT和原生的性能比较。上图的长度越短,性能越好。可以发现Asm.js比JIT要高很多,因为其他的方法只能让JIT的性能快一点,也就是即时编译的速度快一点,而Asm.js已经是编译好的字节码直接运行。WebAssembly的工作方式如下:EgretEngine5.0可以直接将H5游戏代码编译成机器码运行,相比EgretEngine4.0效率可以提升300%。注:引擎对比在相同的测试平台上,EgretEngine5.0相比EgretEngine4.0的效率可提升300%。在智能切换的封闭开发期间,EgretEngine5.0团队精心重写了引擎底层以支持WebAssembly技术。为开发者提供更好的性能。如果浏览器不支持WebAssembly,5.0版本引擎可以自动智能切换到普通JavaScript版本,开发者无需担心无法正常使用。2、全面支持ES6,支持项目模块化升级l全面支持ES6除了黑科技WebAssembly技术加持,EgretEngine5.0还全面支持ES6(JavaScript语言的下一代标准)的新特性,将大幅提升开发效率和提高代码的健壮性和容错性,开发者可以随心所欲地使用ES6的新特性。l支持项目模块化升级同时,研发团队还对EgretEngine5.0进行了模块化分离,可以支持项目模块化升级。比如开发者经常反映的声音问题,EgretEngine5.0升级后解决了这个问题,但是由于是在线项目引擎升级可能会出现不可预知的问题,所以开发者会谨慎选择升级。EgretEngine5.0支持模块化升级后,如果在开发过程中出现声音问题,可以单独升级声音模块,不影响其他模块的正常使用。其他模块的升级也是如此,极大的方便了项目管理。除了以上功能,EgretTools团队还带来了全新的游戏创作工具Paper,寓意简单快捷,致力于让大家更高效地创作H5游戏。Paper以视觉化制作游戏为主,编写代码为辅,可以进一步解放开发者。目前这款工具还处于内测阶段,正式上线时间待定,非常值得开发者期待。EgretEngine5.0的推出,标志着H5开发从JIT方式向WebAssembly方式的进步,也标志着向模块化管理项目的进步。白鹭引擎希望用更好的产品服务于众多忠实的开发者。开发者可于近期下载最新版引擎,抢先体验黑科技产品带来的极致性能和开发效率体验。