一篇读懂HTML5引擎性能之王LayaAir

性能是HTML5引擎最核心的指标,性能一旦出现瓶颈,就会限制策划的系统设计,限制美术的画面表现。譬如,近期有CP吐槽“本欲使用某引擎设计5 V 5的战斗,同屏跑10个人物骨骼动画后就跪了,从此再也不敢用骨骼动画”。性能之坑,可见一斑。


LayaAir的100个人物骨骼性能?

以性能著称的LayaAir引擎对于骨骼动画的处理能力到底如何呢?我们用100个人物骨骼动画,在市场价499元的“红米2A”手机上,采用Chrome浏览器进行测试,结果如下:

11111111.png

100个人物骨骼动画达到47帧


11111112.png

80个人物骨骼动画达到57帧

(测试视频高清下载地址:http://pan.baidu.com/s/1skbBIlJ)

通过对骨骼动画的测试,我们可以看到,LayaAir引擎的测试用例在浏览器中裸跑性能较高,同屏100个骨骼动画并无压力,接近50帧,比较流畅。而80个骨骼动画接近满帧,这种性能数据完全可以满足HTML5游戏多人同屏在线场景的设计需求。

LayaAir的应用领域?

LayaAir是一个免费的商业级HTML5引擎,是Layabox家族的核心产品。主要面向移动端和PC端的大型游戏和小型游戏研发。同时也适用于广告、营销、教育、应用软件、PC工具、网站、3D、VR等领域的产品研发。


为什么选择LayaAir?

一、引擎免费开源,问答社区、QQ群、开发者文档中心等开发者服务齐全。

二、性能最强的HTML5引擎,支持大型游戏流畅裸跑,性能媲美APP引擎。

三、支持ActionScript3、JavaScript、TypeScript三种开发语言,学习成本低,DEMO示例、API文档、工具链完善,一小时快速上手。

四、LayaAir IDE操作可视化,集成UI、地图、场景、动画、粒子、骨骼、3D等常用开发工具,大幅优化工作流程,提升开发效率。

五、只需一次开发,即可全平台(Android、IOS、Windows)同时发布,并且支持同时发布HTML5和APP双版本,项目单版本维护,成本低。

六、支持自定义Canvas、WebGL渲染模式,在WebGL模式下可自动切换。

LayaAir的成熟度?

LayaAir引擎的设计思想,源于拥有17年引擎经验的Layabox创始人谢成鸿,Layabox自2011年启动大型HTML5引擎研发以来,其性能与成熟度被多款线上产品所验证,LayaAir作为Layabox旗下新一代HTML5引擎,在继承多年引擎经验的基础上,解决了2D和3D的HTML5裸跑性能问题。

另外,LayaAir在去年首次完成后,已经历七款不同类型的产品磨合,包括大型模拟经营类游戏、挂机游戏、SLG游戏、大型3D RPG游戏、LayaOpen开放平台、游戏运营工具,甚至是LayaAir IDE也是采用LayaAir引擎开发。目前由几十个受邀CP组成的大规模内测已经开始,正通过使用LayaAir开发不同类型的产品,进一步磨合引擎。随着产品在将来不断的上线,LayaAir的成熟度将用一款一款的产品来验证。

111111113.png

采用LayaAir引擎开发,即将上线的大型HTML5游戏

LayaAir引擎的产品性能一定能媲美原生APP产品吗?

通过Layabox公众号公布的测试报告文章《技术突破: HTML5裸跑性能已可媲美APP》,我们了解到LayaAir引擎研发的产品性能是可以媲美APP的。那么我们开发的产品都可以达到媲美原生APP吗?

这里需要说明的是,HTML5产品最终的性能表现主要由三部分组成,浏览器底层,引擎层,项目层。需要在各个环节进行优化才可以媲美APP产品。

LayaAir解决了引擎层的性能优化问题,在Chrome、Safari等浏览器中裸跑LayaAir引擎的大型HTML5游戏,完全可以在性能上媲美APP。但是,项目层在研发过程中,如果对性能优化并不注意,不能正确的使用引擎,那么引擎层的性能优势就会被减弱。


LayaAir与LayaFlash的区别?

对于熟悉Layabox的朋友们来说,一定知道LayaFlash引擎,那么LayaAir与LayaFlash的区别在哪些地方呢?

首先是定位的不同,LayaFlash主要是定位于让存量的Flash手游、页游直接转换为HTML5和APP手游。而LayaAir主要是定位于新项目开发。

其次是API的差异,LayaFlash在开发新项目的时候,采用Flash AS3的原生API开发HTML5和手游项目。而作为多语言开发的LayaAir引擎,尽管仍然支持Flash AS3语言,但是并不兼容AS3的原生API,全新的LayaAir API继承于十多年的引擎经验,让开发效率得到较大的提升。

最后是裸跑性能上的差异,LayaFlash与普通的HTML5引擎一样,运行大型游戏的时候,必须依赖内嵌在渠道的运行器,才可以达到原生APP的流畅体验。而LayaAir运行大型游戏,可以直接流畅的裸跑在浏览器中。