我刚刚开始学习canvas元素,但是我相信它是双重缓冲的。
浏览一下dynamicjs的代码似乎Kinetic.Stage创建了两个画布(不在DOM中),分别是Kinetic.SceneCanvas和Kinetic.hitCanvas。在舞台上添加图层时,似乎还会创建2个画布,另一个是Scene and Hit画布,其中一个会显示在DOM中。为什么需要这么多重叠的画布?还是我误读了代码和/或错过了要点?
谢谢
最佳答案
直接从KineticJS GitHub Readme中获取:
动力学阶段由用户定义的层组成。每个图层都有两个画布渲染器,一个场景渲染器和一个命中图渲染器。您可以看到场景渲染器,而命中图渲染器是一种特殊的隐藏画布,用于高性能事件检测。每层可以包含形状,形状组或其他组。阶段,层,组和形状是虚拟节点,类似于HTML页面中的DOM节点。
此外,在功能部分中,KineticJS具有以下功能:
通过颜色图哈希进行高性能事件检测