Createjs:Stage.update()内部工作问题,用于性能优化。它是在每个刻度线上发生的,还是在每次调用时发生的?

问题描述 投票:0回答:1

为了优化createjs代码,我无法找到关于此问题的信息。案例:我有一个滚动条组件,每次我移动滚动条阶段都会更新以反映滚动条视觉的变化。还会触发滚动事件。应用程序侦听事件,并更新滚动内容中的某些可视内容,因此会触发另一个Stage.update()。

我的问题是:阶段是否只在每个“tick”处更新,或者上述情况会导致阶段在同一个即时降级性能中更新两次?

在代码中,将:

stage.update();
stage.update();
stage.update();

导致阶段连续更新3次?或者只在下一次打勾一次?

谢谢

createjs easeljs stage
1个回答
1
投票

舞台更新没有去抖动,因此每次调用时,舞台都会被渲染。此外,将触发内部计数器,如基于tick的帧前进。

不建议运行它超过您需要的次数。通常,应用程序要么具有连续的Ticker,要么仅在内容更改时更新。

如果您想创建混合,我建议您检查自己设置的update属性。然后你可以随时切换它,它会在每个tick最多运行一次。

createjs.Ticker.on("tick", function(e) {
  if (shouldUpdate) { stage.update(e); }
  shouldUpdate = false;
});

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.