KineticJS:我何时使用toImage()以及何时使用cache()

时间:2014-04-20 19:23:58

标签: javascript html html5 canvas kineticjs

我读过这个以提高性能你应该使用缓存。有一个关于它的KineticJS教程:http://www.html5canvastutorials.com/kineticjs/html5-canvas-shape-caching-with-kineticjs/它讨论了缓存但使用了toImage()方法。

当我应该使用什么时,我找不到解释。

这两种方法有什么区别,何时使用cache()或toImage()?有人可以为两者提供一个例子吗?

编辑:假设您有一个包含三个形状a,b,c的图层。当我拖动其中一个形状时,如何缓存图层?如何告诉KineticJS何时使用缓存对象?

只是这样:

def layer = // some layer with shape a,b,c


stage.on('dragstart', function() {
        layer.cache();

        // find the shape which is dragged.

      });

stage.on('dragend', function() {
        // ???
      });

1 个答案:

答案 0 :(得分:0)

myNode.cache只是自动完成从节点制作图像对象并在重绘过程​​中使用该图像对象的过程。

您可以通过执行myNode.toImage然后使用该图像而不是myNode来执行相同的操作。

这两种方法都可以加速绘图,因为复制图像像素比处理绘制命令以绘制节点要快。