揭秘开发利器 白鹭云平台并大幅提升核心性能

  12月4日,H5游戏引擎商白鹭科技为开发者正式推出了全新白鹭引擎启动器Egret Launcher,该版本在深度优化交互体验基础上,并整合了白鹭引擎5.1最新版本与代码编辑器Egret Wing 4.1。白鹭科技上线全新产品连发组合拳,不仅彰显其“稳重高选”的品牌属性,更标志着产品实现由工具到服务的全面战略转型升级。

  全新启动器紧密连接开发者

  改版后的Egret Launcher更具科技范,简约不失格调,化繁为简的UI设计,为开发带来全新视觉和个性化体验,除此之外还新增用户登录和离线模式功能,即使在无网络连接状况下,依然可以使用部分功能。在深度优化交互体验基础上,白鹭引擎还上线新增新闻模块,使开发者能及时了解白鹭官方团队推送的引擎更新内容以及行业最新动态,帮助开发者了解到引擎的最新进展、一手教程与最佳实践。

  改进项目管理等功能

  白鹭引擎启动器对于项目管理功能也进行了改善,在项目列表中新增了项目类型标签。开发者在创建项目中可选择Egret EUI项目、Egret 3D项目、Facebook Instant Game Demo项目、WebAssembly示例项目,利于方便对多个项目的创建和管理。之后的版本还会对进一步细化项目管理的可视化配置。

  工具后台向云平台全面升级

  白鹭引擎启动器内置了白鹭引擎逐步开放给开发者的诸多服务,这标志着白鹭引擎已经逐步从代码框架、开发工作流逐步进化为为开发者提供引擎服务的核心理念,即:引擎 = 核心框架 + 工具链 + 云平台服务。引擎团队会逐步向开发者提供了如下服务:

  1.集成微端,提升游戏性能与留存

  本次改版最为值得关注的是,新Egret Launcher将微端直接集成在内,方便开发者快捷的创建游戏。微端是由白鹭科技推出的全新产品,以解决H5游戏打包为原生APP 而发布的原生打包解决方案。白鹭微端解决方案具有极小包体,完善的资源版本管理理功能,易推广高留存等特性。

  目前,白鹭微端安卓系统的 apk安装包不足1MB,苹果系统的安装包也仅有2MB,可以有效的降低用户的下载安装门槛。白鹭微端还内置Runtime、Webview两种运行模式,Runtime模式下可大幅度提升基于Egret引擎所研发的游戏性能,而Webview模式最大化保证兼容性,支持了其它不同游戏引擎所开发的H5游戏。与此同时,通过动态加载技术,白鹭微端实现所打包的原生APP包体极小,节省游戏推广成本,并提高游戏的用户留存率。

  2.云部署,降低开发者的部署门槛

  白鹭云部署会与白鹭引擎 5.1 的全新白鹭编译器工作流进行深度整合,使开发者在进行完环境配置后,仅需一键即可将HTML5游戏项目部署到外网测试环境中,同时可以设置访问权限,开放给内部同事、合作伙伴、测试玩家。除此之外还能方便的进行版本管理,成员控制等功能。

  在白鹭云部署推出以前,HTML5 开发者如果想要部署外网测试环境需要手动发布游戏,上传外网服务器,手动添加访问成员,手动进行版本控制,除此之外还需要开发游戏测试网页。

  白鹭云服务的推出大大节约了开发者的研发时间,近期将会跟开发者见面。

  3.错误日志分析,帮助开发者更快定位错误信息

  使用云部署的白鹭引擎项目可以使用白鹭引擎提供的错误日志分析能力,帮助开发者快速定位源码级错误信息,帮助开发者更快更有效的定位您线上产品的错误,并进行快速修改。

  4.Google&白鹭广告平台,为开发者变现提供支持

  Google&白鹭广告平台整合了谷歌全球广告大数据和白鹭HTML5引擎技术,为广告主和开发者提供了覆盖广泛、定向精准、人群数据画像分析、高效转化的营销服务和变现途径。广告平台支持文字、图片、视频、原生、信息流等多素材多创意的广告样式,以大数据计算能力和用户人群画像分析,实现多样化广告形式、海量广告资源、场景化触达H5游戏用户,精准锁定目标群体投放。目前白鹭引擎已经集成了该项服务,方便开发者快速为 HTML5 游戏加入广告系统。

  5.整合Facebook Instant Game,方便开发者出海

  白鹭引擎完成对Facebook HTML5 游戏业务Instant Game平台的支持,开发者可以一键创建出 Instant Game 的示例项目,并包含所有 API 的示例代码和中文的说明文档。

  除了上述内容之外,引擎团队后续还会推出性能分析报告以及整合白鹭的数据分析等服务提供给开发者。

  白鹭引擎 5.1发布,大幅提升重度游戏开发效率与运行效率

  除了这些新推出的云服务之外,白鹭引擎也对旗下的核心引擎与工具产品进行了升级,主要包括白鹭引擎 Egret Engine 5.1 与开发工具 Egret Wing 4.1 的升级。白鹭引擎在 2017年5月份正式发布了 5.0 版本,经过了14个小版本的不断迭代,逐步向开发者提供了以下功能:

  WebAssembly 渲染器 beta,显著提升游戏渲染效率

  文字与矢量渲染优化,显著提升大屏幕手机对文字和矢量渲染的清晰度

  大幅提升 DragonBones 骨骼动画的运行性能

  提升 EUI 项目的编译速度

  解决部分 iOS 设备用户在激活输入文本后渲染异常的问题

  目前,以上功能均已稳定,白鹭引擎接下来会采用双版本迭代的策略。一方面不断完善 5.0.x 版本,不引入新功能,专注稳定性提升,错误修正以及不破坏整体结构的小幅性能优化。另一方面,引擎发布了包含新特性的 5.1 版本。

  对游戏开发者而言,如果您的游戏已经发布或者即将发布,我们推荐您使用稳定版,如果您的游戏刚开始使用白鹭引擎做新项目、或者迫切的需要一些新特性,您可以使用 5.1 版本。 我们开发团队会根据收集开发者的反馈对 5.1 版本进行完善。如果您在使用 5.1 版本时遇到任何问题或者有什么建议,请随时与白鹭官方团队保持联系,以便第一时间由白鹭团队帮助您解决遇到的这些问题。

  由于目前 HTML5 游戏愈发重度化,白鹭引擎这几个月也做了诸多具有针对性的改进,提升重度游戏的开发体验。我们认为,开发一款重度游戏,目前主要仍然存在着以下痛点需要解决:

  l 重度游戏构建速度过慢

  l 构建工作流不易扩展

  l 游戏运行性能需要进一步提高

  目前白鹭引擎 5.1 版本引入的全新功能如下:

  1.重构 JavaScript 渲染逻辑,渲染性能大幅提升

  白鹭引擎在 5.0 版本引入了 WebAssembly 渲染器,大幅提升了游戏的渲染性能。在这个过程中,白鹭团队也总结了更多的 HTML5 游戏渲染优化策略,并将这些策略应用到了现有的 JavaScript 渲染模块上。简而言之,白鹭引擎 5.1 版本的 JavaScript 渲染器得到了进一步的性能提升,在特定 Benchmark 上尤为明显,提升超过三倍

  在实际游戏项目中,由于游戏的渲染列表远比特定 benchmark 复杂,并且游戏业务逻辑开销也会占用不少性能,经过我们实际在游戏项目中的测试,我们推论这项改动对您的整体游戏性能会带来 10% 左右的性能提升。这些帧频提升会使 HTML5 游戏的整体帧频更为稳定,并进一步降低 HTML5 游戏的耗电与发热情况。

  2.新的编译器架构,更方便定制的工作流

  白鹭引擎 5.1 采用了新的命令行架构,重点调整了 egret build 与 egret publish命令,并将命令行重命名为白鹭编译器。

  在之前的版本中,白鹭引擎的构建与发布命令对开发者而言是一个黑盒,开发者只能了解到当您执行了 egret build以及egret publish之后,经过一段短暂(或者漫长)的等待时间后,您的源代码和资源就会生成到一些特定的位置上。当开发者有需要对引擎的发布进行扩展的需求时,您无法对引擎的发布过程进行定制,只能自己编写一些脚本,并将白鹭引擎的发布过程作为您编写的脚本中的一部分。

  在新版本中,白鹭编译器构建的所有行为都变成了插件,并直接将插件的执行顺序暴露给您,具体机制如下:

  通过上述代码,我们可以很清晰的看出,引擎发布会先后执行 EXML 构建、源代码编译、代码混淆这三个步骤。这样一方面您可以了解到命令行中到底执行了什么,另一方面您也可以轻松的去调整这些配置。

  在下个小版本中,白鹭官方将会允许开发者加入您自己的插件,去扩展整个发布过程。

  3.重构优化构建逻辑,提升构建速度

  在新的编译器开发过程中,我们优化了编译器的内部构建逻辑,以解决大型项目编译速度缓慢的问题。由于引入了虚拟文件系统作为编译器对底层硬盘数据的抽象,新的编译器在执行增量编译的速度会得到大约10%的构建速度提升,在老式的机械硬盘上会更加显著。

  除此之外,由于使用了基于流的文件处理机制,引擎的发布速度得到了大幅的提升,通过白鹭引擎与一款重度游戏的技术合作为例,该项目中包含了11000余个文件,500兆资源,发布一次原生版本的发布速度从 150秒减少至 50 秒。

  这次版本只是我们对构建速度优化的第一步,接下来我们会引入一些新的机制提升引擎的构建速度。

  4.项目配置文件梳理,更易理解的产品体验

  每一个白鹭引擎项目中均包含一个 egretProperties.json 文件,这个文件之前会包含了一个名为 egret_version的字段,用于指定采用哪个版本的白鹭引擎进行编译。

  在 5.1 版本中,我们引入了两个新的字段,分别是 compilerVersion与engineVersion分别表示引擎编译器的版本与引擎运行时库的版本。原有的 egret_version字段在新版本中将被废弃。

  这种修改是为了更清晰的表达“编译器”与“引擎”是两个不同的概念。编译器指执行 egret build / egret publish 等开发者需要的命令,而引擎指 egret.js / eui.js 等游戏运行所需要的 JavaScript 脚本。而之前的 " egret_version " 无法清晰的表达这个概念。

  从 5.1 版本开始,我们建议开发者使用最新的编译器版本,以及相对稳定的引擎版本。由于保证了引擎和编译器的独立性,白鹭可以为开发者提供更多有价值的功能,因此,开发者完全无需担心您的现有项目无法使用新的编译器架构。

  为了配合这次改动,白鹭的启动器也做出了全新的改版。新的版本在完善用户体验的同时,删除了“选择当前引擎”这一功能,因为您的项目应该使用哪个版本的引擎是配置在项目的配置文件中,而不是配置在一个全局空间中。

  5.开发工具升级,支持引擎 5.1 新特性

  除了核心引擎升级之外,白鹭的开发工具 Egret Wing 也升级到了 4.1 版本,支持了如下特性

  创建项目改为调用白鹭引擎启动器的项目创建,统一引擎的整体工作流

  EUI 编辑支持 Egret 5.1 项目

  EUI编辑支持 WASM 项目

  修复资源编辑反复切换后,九宫格编辑面板出现问题的BUG

  允许所有 res.json为后缀的文件都用资源管理编辑器打开

  更多功能敬请期待

  这次版本发布白鹭团队为开发者带来了大量的引擎与工具方面的新特性与改进,除此之外,白鹭引擎会在接下来的一个月内逐步向开发者提供以下功能。

  将内置的资源加载模块切换至 Egret ResourceManager,这将会使白鹭引擎创建的项目直接内置资源热更新、资源分平台部署等重度 HTML5 游戏需要的特性

  改善 EUI 的加载速度和资源尺寸,解决重度 HTML5 游戏因为 UI 界面过多导致的游戏初始化卡顿问题

  大幅提升原生App 的运行性能,彻底解决开发者长期以来诟病的白鹭引擎原生打包性能低于其他 HTML5 游戏引擎的问题

  更多的发布平台支持,允许开发者快速将您的游戏发布到一些新的平台上

  更快的构建速度,理论值提升三倍以上,这将大幅提升重度 HTML5 游戏的开发效率

  上述内容已经完善了绝大部分功能,如果开发者希望抢先获取测试,欢迎与白鹭官方团队进行联系。在带来这些新特性的同时,白鹭官方也会继续完善白鹭引擎的5.0旧版本,帮助已经上线的产品进一步改善稳定性。

第 1 /  10 页
点击查看余下全文