下面是笔者电脑上的运行时截图,FPS稳定于52高低。

当我们对文字地点的容器设置为cacheAs之后,如下面的例子所示,机能获得较大年夜的晋升,FPS达到到了60帧。
- // …省略其他代码… var textBox = new Laya.Sprite();
- textBox.cacheAs = "bitmap"; // …省略其他代码…

文字描边
在运行时,设置了描边的文本比没有描边的文本多调用一次画图指令。此时,文本对CPU的应用量和文本的数量成正比。是以,尽量应用替代筹划来完成同样的需求。
对于几乎不更改的文本内容,可以应用cacheAs降低机能消费,拜见“图形衬着机能 – 关于cacheAs”。
对于内容经常更改,然则应用的字符数量较少的文本域,可以选择应用位图字体。
跳过文本排版,直接衬着
大年夜多半情况下,很多文本都不须要复杂的排版,仅仅简单地显示一行字。为了逢迎这一需求,Text供给的名为changeText的办法可以直接跳过排版。
- var text = new Text();
- text.text = "text";
- Laya.stage.addChild(text);
- //后面只是更新文字内容,应用changeText能进步机能
- text.changeText("text changed.");
Text.changeText会直接修改画图指令中该文本绘制的最后一条指令,这种前面的画图指令依旧存在的行动会导致changeText只应用于以下情况:
- 文本始终只有一行。
- 文本的样式始终不变(色彩、粗细、斜体、对齐等等)。
即使如斯,实际编程中依旧会经常应用到如许的须要。
测验测验将三处update改为:
削减动态属性查找
JavaScript中任何对象都是动态的,你可以随便率性地添加属性。然而,在大年夜量的属性里查找某属性可能很耗时。如不雅须要频繁应用某个属性值,可以应用局部变量来保存它:
- function foo()
- {
- var prop = target.prop;
- // 应用prop
- process1(prop);
- process2(prop);
- process3(prop);
- }
LayaAir供给两种急鹞鲼轮回来履行代码块。
- Laya.timer.frameLoop履行频率依附于帧频率,可经由过程Stat.FPS查看当前帧频。
- Laya.timer.loop履行频率依附于参数指准时光。
当一个对象的生命周期停止时,记得清除其内部的Timer:
- Laya.timer.frameLoop(1, this, animateFrameRateBased);
- Laya.stage.on("click", this, dispose);
- function dispose()
- {
- Laya.timer.clear(this, animateFrameRateBased);
- }

获取显示对象界线的做法
在相对构造中,很经常须要精确地获取显示对象的界线。获取显示对象的界线也有多种做法,而其间差别很有须要知道。
1.应用getBounds/ getGraphicBounds。、
推荐阅读
起首什么是注解?@Override就是注解,它的感化是: 检查是否精确的重写了父类中的办法。 标明代码,这是一个重写的办法。1、表如今于:检查子类重写的办法名与参数类型是否精确;检查>>>详细阅读
本文标题:如何将HTML5性能发挥到极致
地址:http://www.17bianji.com/lsqh/37701.html
1/2 1

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