作家
登录

如何将HTML5性能发挥到极致

作者: 来源: 2017-10-07 13:47:20 阅读 我要评论

  1. Laya.stage.frameRate = Stage.FRAME_MOUSE; 

 若何将 HTML5 机能发挥到极致

此时在鼠标移动后FPS会显示60,并且画面流畅度晋升。在鼠标静止2秒不动后,FPS又会恢复到30帧。

应用callLater

callLater使代码块延迟至本帧衬着前履行。如不雅当前的操作频繁改变某对象的状况,此时可以推敲应用callLater,以削减反复计算。

推敲一个图形,对它设置任何改变外不雅的属性都将导致图形重绘:

  1. var rotation = 0, 
  2.     scale = 1, 
  3.     position = 0; 
  4.  
  5. function setRotation(value) 
  6.     this.rotation = value; 
  7.     update(); 
  8.  
  9. function setScale(value) 
  10.     this.scale = value; 
  11.     update(); 
  12.  
  13. function setPosition(value) 
  14.     this.position = value; 
  15.     update(); 
  16.  
  17. function update() 
  18.     console.log('rotation: ' + this.rotation + '\tscale: ' + this.scale + '\tposition: ' + position); 

调用以下代码更改状况:

  1. setRotation(90); setScale(2); setPosition(30); 

控制台的打印结不雅是

  1. rotation: 90 scale: 1 position: 0  
  2. rotation: 90 scale: 2 position: 0  
  3. rotation: 90 scale: 2 position: 30 

update被调用了三次,并且最后的结不雅是精确的,然则前面两次调用都是不须要的。

  1. Laya.timer.callLater(this, update); 

此时,update只会调用一次,并且是我们想要的结不雅。

loadImage在加载完成的回调函数触发之后才可以精确获取宽高。

在完成图片/图集的加载之后,引擎就会开端处理图片资本。如不雅加载的是一张图集,会处理每张子图片。如不雅一次性处理大年夜量的图片,这个过程可能会造成长时光的卡顿。

在游戏的资本加载中,可以将资本按照关卡、场景等分类加载。在同一时光处理的图片越少,当时的游戏响应速度也会更快。在资本应用完成后,也可以予以卸载,释放内存。

第6节:其他优化策略

  1. 削减粒子应用数量,在移动平台Canvas模式下,尽量不消粒子;
  2. 在Canvas模式下,尽量削减扭转,缩放,alpha等属性的应用,这些属性会对机能产生消费。(在WebGL模式可以应用);
  3. 不要在timeloop琅绫擎创建对象及复杂计算;
  4. 尽量削减对容器的autoSize的应用,削减getBounds()的应用,因为这些调用会产生较多计算;
  5. 尽量罕用try catch的应用,被try catch的函数履行会变得异常慢;

【编辑推荐】

  1. HTML5游戏引擎深度测评
  2. 基于LeanCloud和Wex5开辟跨平台HTML5应用法度榜样
  3. HTML5 – 本地存储
  4. 挨踢部落直播教室第二期:移动互联网产品中若何用好HTML5?
  5. HTML5手势检测道理和实现
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  Android注解快速入门和实用解析

起首什么是注解?@Override就是注解,它的感化是: 检查是否精确的重写了父类中的办法。 标明代码,这是一个重写的办法。1、表如今于:检查子类重写的办法名与参数类型是否精确;检查>>>详细阅读


本文标题:如何将HTML5性能发挥到极致

地址:http://www.17bianji.com/lsqh/37701.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)