在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 AssetsManager QQ 玩一玩 |