我读到,为了提高性能,您应该使用缓存。有一个 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() {
// ???
});
最佳答案
myNode.cache
只是自动执行从节点创建图像对象并在重绘期间使用该图像对象的过程。
您可以通过执行 myNode.toImage
来完成相同的操作,然后使用该图像而不是 myNode。
这两种方法都可以加快绘图速度,因为复制图像像素比处理绘图命令来绘制节点要快。
关于javascript - KineticJS:何时使用 toImage() 以及何时使用 cache(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186629/