我刚刚开始学习canvas元素,但是我相信它是双重缓冲的。
浏览一下dynamicjs的代码似乎Kinetic.Stage创建了两个画布(不在DOM中),分别是Kinetic.SceneCanvas和Kinetic.hitCanvas。在舞台上添加图层时,似乎还会创建2个画布,另一个是Scene and Hit画布,其中一个会显示在DOM中。为什么需要这么多重叠的画布?还是我误读了代码和/或错过了要点?

谢谢

最佳答案

直接从KineticJS GitHub Readme中获取:


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


此外,在功能部分中,KineticJS具有以下功能:


  通过颜色图哈希进行高性能事件检测

10-08 02:43