白鹭引擎 5.1.6 优化打包 iOS/Android App 的运行性能 - 开源中国社区
Float_left Icon_close
白鹭引擎 5.1.6 优化打包 iOS/Android App 的运行性能
白鹭科技 2018年03月12日

白鹭引擎 5.1.6 优化打包 iOS/Android App 的运行性能

白鹭科技 白鹭科技 发布于2018年03月12日 收藏 11

做APP,小程序就上开源众包。世界杯期间免费领2600元启动金。>>>  

在3月12日,我们将为白鹭引擎推出5.1.6 版本。5.1.6版本是对去年12月份发布的5.1版本的一次功能更新和集中性缺陷修复,主要目标是添加新的 iOS/Android App 打包支持,以及完善微信小游戏、QQ玩一玩、AssetsManager的稳定性。

iOS/Android 原生打包
在这次更新发布的 Egret Launcher 中,我们在发布设置中整合了iOS 与 Android 平台的发布设置。
 
自2014年底起,白鹭引擎推出的2.0 版本便已经支持开发者将游戏打包为 iOS / Android App 发布到原生平台中,除此之外,2017年我们又推出了微端解决方案。在这次更新中,我们将 iOS / Android Support 的底层内核切换为了微端内核,并添加了新的 NativeRenderer 机制,大幅提升了打包后的 App 的渲染性能。
 
之所以会有如此重大的提升,这是因为在之前的 iOS / Android Support 中,原生内核虽然提供了优化后的 HTML5 Canvas2D / WebGL 渲染接口,但是核心渲染驱动仍然是由 JavaScript 逻辑执行的,在新推出的 NativeRenderer 中,渲染驱动逻辑从 JavaScript 端迁移到了 Native C++ 端,这样做会大幅降低 JavaScript 引擎的负担,特别是在所有的 iOS 设备以及低端 Android 设备中表现极其明显。
 
需要注意的是,由于在 iOS / Android 上的渲染驱动迁移到了 Native 端,开发者不再能够通过 Hack 引擎的 JavaScript 代码的方式去修改打包后的渲染行为。这相当于我们牺牲了一定的灵活性换来了更高的性能,如果开发者希望保留这些灵活性,您也可以强制关闭 NativeRenderer ,仍然使用之前机制。

NativeRenderer 已经在数个正式发布的产品中得到了使用,除了实际产品验证之外,NativeRenderer 也通过白鹭自研的内部自动化测试系统中进行了200余个测试用例的测试,目前绝大部分测试用例均已通过。
在尚未通过的测试用例中,以下图为例,我们可以看出,iOS 打包无论使用旧的 JavaScriptRenderer还是新的NativeRenderer ,发光滤镜、颜色变换滤镜和模糊滤镜的渲染结果均完全一致,但是投影滤镜仍然存在一些肉眼较难发现的问题。这些问题我们会逐步解决,如果您在使用中发现了问题,也欢迎您贡献测试用例给官方。
 
NativeRenderer 需要白鹭引擎 5.1.5 以上的版本才可以使用。

除了 NativeRenderer之外,本次更新还带来了如下内容:

2D 渲染 - JavaScript

  • 修复设置一次虚线后,后续所有绘制均为虚线的BUG 

  • 修复 DragonBones Mesh 渲染旋转在特定情况下的渲染BUG 

AssetsManager

  • 现在您可以为不同的资源配置文件设置不同的资源加载根路径,通过与 ResSplitPlugin 插件配合,可以用于更方便的解决微信小游戏的 4M 资源包限制问题

  • 微信小游戏添加 canvas2d 模式渲染支持,以解决部分设备在微信小游戏中使用 webgl 模式渲染错误的问题

  • 修复特定情况下在真机上资源加载失败的 BUG

QQ 玩一玩

  • 修复了BitmapText字体位置偏移的问题

  • 增加了底层背景,在启动项中增加了背景颜色的设置

  • 修复了DisplayObject scrollRect无效的问题

  • 修复了EUI scroller显示错误的问题

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:白鹭引擎 5.1.6 优化打包 iOS/Android App 的运行性能
分享
评论(1)
最新评论
0
:+1:
顶部