首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Egret 5.3.6 正式发布,大幅改进编译速度

我们在今天发布 Egret 5.3.6 版本。Egret 5.3.6 仍然是一个抢先预览版,在这个版本中我们为各位开发者带来如下功能:

1、JavaScript模块支持;

2、全新的 EuiCompiler;

3、运行时改进;

4、Inspector更新。

其中 JavaScript模块支持和EuiCompiler我们建议正在开发中尚未上线的项目使用,运行时以及 Inspector 更新所有项目均可使用。

JavaScript模块支持,大幅改进编译速度(beta)

这项技术我们率先使用在EgretPro中,在这个版本我们将其移植到了Egret5.3版本中,以保证尽可能多的存量开发者可以使用此功能。

在不支持模块的老式浏览器中,如果一个JavaScript文件要想给另外一个文件暴露出去一部分数据或者一个变量,那只能将它定义在全局的作用域下,并根据他们的依赖关系来决定加载顺序。

白鹭引擎构建管线中的IncrementBuild插件将会分析您的游戏逻辑依赖关系,并生成一个manifest.json文件,游戏在调试时会加载这个manifest.json,根据其中的脚本顺序逐个加载JavaScript代码。

这种方式带来的问题是,随着项目不断变大,IncrementBuild插件的依赖关系检查会使游戏的编译速度会越来越慢,而JavaScript模块中,由于所有的依赖关系都是显式设置的,所以不存在此问题。

在5.3.6版本中,我们允许开发者使用JavaScript模块,并提供了webpack打包器,它会将多个JavaScript模块文件打包为一个文件,使得其可以在不支持JavaScript模块的旧式浏览器上运行。

经过与白鹭合作的开发者抢先测试,将一个代码总量20万行,包含1700个TypeScript文件的重度挂机游戏项目迁移至JavaScriptModule格式花费了一人一个星期时间,而这份投入非常的值得。经过开发者的实际反馈,在修改前编译速度大约为40秒一次,修改后仅需3-4秒,这可以为每位前端开发人员每天节省一小时的时间。

如果您对这项改动感兴趣,但是担心项目过大而感觉无从下手,可以联系白鹭引擎的官方技术支持(微信号:egretengine),寻求白鹭引擎官方团队的支持。

全新的EuiCompiler(beta)

在使用白鹭引擎开发的游戏中,UI以及相关逻辑是工作量最大的部分之一。在Egret5.3系列版本中,我们决定全面改进UI的开发体验。为此我们先是发布了全新的EgretUIEditor,并逐步迭代至1.9版本。除此之外,我们将在这个版本中为大家带来全新的EuiCompiler。

EuiCompiler是引擎中的ExmlPlugin的升级版本,他实现了和ExmlPlugin一致的功能,但是内部代码结构更加清晰并具备可扩展性。开发者可以扩展EuiCompiler,为其加入符合自己游戏需求的定制功能,诸如:浮点数值擦除,国际化语言包、资源文件检查等。

EuiCompiler的第一个版本暂时只支持发布为JavaScript格式的皮肤,我们后续将会为其添加JSON以及ArrayBuffer格式的皮肤支持。

运行时改进

除了JavaScript模块以及EuiCompiler带来的开发效率改进外,我们也对引擎的运行时进行持续优化,具体包括:

1、vivo小游戏平台支持小游戏引擎插件功能;;

2、修复部分设备浏览器上切换页面后,任意点击都会触发输入法的问题;

3、修复滤镜的父节点矩阵变化后,子节点显示异常问题;

4、修复ttf字体注册方法在EgretNative失效的问题;

5、修复EgretNative开启原生加速后,MovieClip生成的显示对象使用多滤镜渲染存在的错误;

6、修复5.3.5版本引擎在EgretNative上开启原生渲染后显示错位的问题。

Inspector改进

在这次更新中我们也更新了EgretInspector至3.5.1,版本。主要修复如下问题:

1、修复TOUCH_END事件不能触发的问题;

2、修复显示对象visible=false时,还能被选取的问题;

3、修复游戏的url路径中有特殊符号时,不能正确解析的问题。

后续更新

在这次版本发布后,白鹭引擎后续研发重点主要集中在如下几个方面:

1、EgretNative的使用体验;

2、在现有2D项目中更方便的引入3D内容;

3、EUI相关功能的进一步优化。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200604A0M2U300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券