首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Easeljs性能下降?

Easeljs性能下降?
EN

Stack Overflow用户
提问于 2013-04-10 17:25:02
回答 1查看 3.2K关注 0票数 0

我一直在玩易,我发现表演开始下降。在我的例子中,Chrome需要大约3s才能达到这一点,Safari则需要25s,Firefox到处都是。

问题:

  1. 我做错什么了吗
  2. 或者这就是我期望从easeljs中获得的表现。

示例为了演示我正在经历的性能打击,我在一个循环上创建了一个简单的循环重绘动画,但是框架很快就开始下降。如果我恢复到纯画布API调用,那么它将恢复性能。

下面是我重新绘制的关键片段,它选择了绘制圆圈的方法:

代码语言:javascript
复制
if ( counter.fps > 60) {
    circle.graphics.beginFill('green')
    circle.graphics.drawCircle(0,0, w / 10)
    circle.graphics.endFill();
    stage.update();
} else {    
    context.beginPath();
    context.arc(circle.x, circle.y, w / 10, 0, 2 * Math.PI, false);
    context.fillStyle = "darkred";
    context.fill();
}

有关演示:http://jsfiddle.net/AshCoolman/5xYxM/9/,请参阅下面的“小提琴”

变量我尝试过类似的结果,

  • requestAnimationFrame (和一个填充)
  • 较慢fps

(Rough)性能时间表(OSX10.8.2在mid2012 macbook上)

Chrome v26.0.1410.43

  • 0-3s =90
  • 3s = fps开始下降
  • 6s = fps命中60 fps

Safari v6.0.2 (8536.26.17)

  • 0-20=90 20s
  • 20点= fps开始下降
  • 35s = fps命中60 fps

火狐v20

  • 托管的fsFiddle :完全不稳定
  • 本地托管:非常类似于色度性能,但更不稳定。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 17:33:14

EaselJS图形被保留,因此您要向Graphics队列中添加另一个循环定义的每个帧。所以,在1000次“重绘”调用之后,每次都要画1000个圆圈。

使用Graphics.clear()重置绘图队列,或者只绘制一次圆圈&移动相应的形状(建议)。

这里有一个修改过的Fiddle版本,它为我提供了一个可靠的99fps:http://jsfiddle.net/5xYxM/13/

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15932466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档