KineticJS-为什么要使用这么多隐藏的画布元素?

时间:2013-07-09 20:25:48

标签: javascript html5 canvas kineticjs

我刚开始学习canvas元素,但我相信它是双缓冲的。 查看kineticjs的代码似乎Kinetic.Stage创建了两个画布(不在DOM中),一个Kinetic.SceneCanvas和一个Kinetic.hitCanvas。当你向舞台添加一个图层时,它似乎会创建另外两个画布,另一个是Scene和Hit画布,其中一个画面显示在DOM中。为什么需要这么多重叠的画布?或者我误读了代码和/或错过了重点?

谢谢

1 个答案:

答案 0 :(得分:4)

直接从KineticJS GitHub Readme

  

动力学阶段由用户定义的层组成。每个图层都有两个画布渲染器,一个场景渲染器和一个命中图渲染器。场景渲染器是您可以看到的,并且命中图形渲染器是一个特殊的隐藏画布,用于高性能事件检测。每个图层可以包含形状,形状组或其他组的组。阶段,图层,组和形状是虚拟节点,类似于HTML页面中的DOM节点。

此外,在功能部分,KineticJS功能:

  

通过颜色图散列检测高性能事件