我刚开始学习canvas元素,但我相信它是双缓冲的。 查看kineticjs的代码似乎Kinetic.Stage创建了两个画布(不在DOM中),一个Kinetic.SceneCanvas和一个Kinetic.hitCanvas。当你向舞台添加一个图层时,它似乎会创建另外两个画布,另一个是Scene和Hit画布,其中一个画面显示在DOM中。为什么需要这么多重叠的画布?或者我误读了代码和/或错过了重点?
谢谢
答案 0 :(得分:4)
动力学阶段由用户定义的层组成。每个图层都有两个画布渲染器,一个场景渲染器和一个命中图渲染器。场景渲染器是您可以看到的,并且命中图形渲染器是一个特殊的隐藏画布,用于高性能事件检测。每个图层可以包含形状,形状组或其他组的组。阶段,图层,组和形状是虚拟节点,类似于HTML页面中的DOM节点。
此外,在功能部分,KineticJS功能:
通过颜色图散列检测高性能事件