我读过这个以提高性能你应该使用缓存。有一个关于它的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() {
// ???
});
答案 0 :(得分:0)
myNode.cache
只是自动完成从节点制作图像对象并在重绘过程中使用该图像对象的过程。
您可以通过执行myNode.toImage
然后使用该图像而不是myNode来执行相同的操作。
这两种方法都可以加速绘图,因为复制图像像素比处理绘制命令以绘制节点要快。