KineticJS - KineticJS . node .listening()的性能影响
KineticJS - Performance Impact of Kinetic.Node.listening()
最近,我了解到我可以使用listening()
方法来确定KineticJS节点是否正在侦听事件。我制作了一款在任何时候都有数百个可见形状的游戏。其中许多形状不需要侦听事件,因此我考虑禁用该功能。在该领域有经验的人是否可以解释禁用事件的潜在性能影响,以便我可以评估是否值得将其纳入我的项目中?
Good
由于舞台上的对象数量相对较多,因此为不需要响应事件的节点设置node.listening(false)
可能会提高性能。舞台上的任何鼠标事件都将触发对所有侦听对象的调用——在您的示例中,每个事件调用数百个。性能提高的原因(有些明显)是每个事件必须调用的对象事件处理程序更少。
为了获得更好的性能,您可以查看Kinetic.FastLayer
。可以把FastLayer看作是当前不需要事件处理程序的所有对象的容器。FastLayer渲染得非常快,因为没有事件开销。当你的一个对象需要使用事件时,你可以将它们移动到一个常规的动能。再次触发事件的图层。
将一组当前不移动的对象转换为静态图像(caching
)具有最佳性能。这样,这组对象就可以很快地从图像中移到画布上。同样,如果其中一个缓存对象需要使用事件,您可以将它们移动到常规的Kinetic。图层,并将剩余的对象集重新缓存到新图像中。
当然,你的设计将决定上述性能技巧是否可以应用到你的游戏中。
祝你项目顺利!
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 提高JQuery的性能
- 使用正则表达式评估电子邮件地址时出现性能问题
- React:按键的性能提升
- 在Three.js中导出网格会提高性能吗
- 在javascript中搜索项目列表的性能
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- JavaScript数组优化以提高性能
- React+Redux性能优化与组件ShouldUpdate
- 在KineticJS中缩放到固定点
- 在循环中附加事件处理程序时出现浏览器性能问题
- JavaScript-===vs===运算符性能
- 超时功能的性能
- Pg承诺性能提升:在冲突中
- 奇怪的Kineticjs性能问题
- 使用 KineticJS 提高动画性能
- 性能问题 KineticJS.
- KineticJS - KineticJS . node .listening()的性能影响
- Kineticjs性能滞后
- KineticJS:Firefox与Chrome的动画性能