- Laya.stage.frameRate = Stage.FRAME_MOUSE;

此时在鼠标移动后FPS会显示60,并且画面流畅度晋升。在鼠标静止2秒不动后,FPS又会恢复到30帧。
应用callLater
callLater使代码块延迟至本帧衬着前履行。如不雅当前的操作频繁改变某对象的状况,此时可以推敲应用callLater,以削减反复计算。
推敲一个图形,对它设置任何改变外不雅的属性都将导致图形重绘:
- var rotation = 0,
- scale = 1,
- position = 0;
- function setRotation(value)
- {
- this.rotation = value;
- update();
- }
- function setScale(value)
- {
- this.scale = value;
- update();
- }
- function setPosition(value)
- {
- this.position = value;
- update();
- }
- function update()
- {
- console.log('rotation: ' + this.rotation + '\tscale: ' + this.scale + '\tposition: ' + position);
- }
调用以下代码更改状况:
- setRotation(90); setScale(2); setPosition(30);
控制台的打印结不雅是
- rotation: 90 scale: 1 position: 0
- rotation: 90 scale: 2 position: 0
- rotation: 90 scale: 2 position: 30
update被调用了三次,并且最后的结不雅是精确的,然则前面两次调用都是不须要的。
- Laya.timer.callLater(this, update);
此时,update只会调用一次,并且是我们想要的结不雅。
loadImage在加载完成的回调函数触发之后才可以精确获取宽高。
在完成图片/图集的加载之后,引擎就会开端处理图片资本。如不雅加载的是一张图集,会处理每张子图片。如不雅一次性处理大年夜量的图片,这个过程可能会造成长时光的卡顿。
在游戏的资本加载中,可以将资本按照关卡、场景等分类加载。在同一时光处理的图片越少,当时的游戏响应速度也会更快。在资本应用完成后,也可以予以卸载,释放内存。
第6节:其他优化策略
- 削减粒子应用数量,在移动平台Canvas模式下,尽量不消粒子;
- 在Canvas模式下,尽量削减扭转,缩放,alpha等属性的应用,这些属性会对机能产生消费。(在WebGL模式可以应用);
- 不要在timeloop琅绫擎创建对象及复杂计算;
- 尽量削减对容器的autoSize的应用,削减getBounds()的应用,因为这些调用会产生较多计算;
- 尽量罕用try catch的应用,被try catch的函数履行会变得异常慢;
【编辑推荐】
- HTML5游戏引擎深度测评
- 基于LeanCloud和Wex5开辟跨平台HTML5应用法度榜样
- HTML5 – 本地存储
- 挨踢部落直播教室第二期:移动互联网产品中若何用好HTML5?
- HTML5手势检测道理和实现
推荐阅读
起首什么是注解?@Override就是注解,它的感化是: 检查是否精确的重写了父类中的办法。 标明代码,这是一个重写的办法。1、表如今于:检查子类重写的办法名与参数类型是否精确;检查>>>详细阅读
本文标题:如何将HTML5性能发挥到极致
地址:http://www.17bianji.com/lsqh/37701.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示