在DisplayObject中有一个cache方法,在这里介绍一下。
这个方法是把显示对象画到一个新的canvas中。这样一些不经常变化的复杂的显示对象性能上会优化好多(比如说有许多子对象的容器或者复杂的Shape)。在cache了以后,就不用在每一次stage.update()重绘的时候重新渲染了,所以可以大大提高效率。被缓存的显示对象可以移动、旋转、改变透明度。如果被缓存的显示对象的内容变化的话,就要重新调用cache()或者updateCahce()方法。
在官网的这个例子里面,可以明显的看出来缓存的效果。
官网cache例子
cache (x y width height [scale=1] )
这个方法有五个参数,最后一个scale是可选的,默认为1.
前四个参数指定了显示对象要缓存的区域,注意的事x和y的坐标都是根据当前这个显示对象本身的坐标系来计算。
最后一个参数scale表示在缓存时缩放的比例,比如 myShape.cache(0,0,100,100,2) 这样使用时,缓存出来的结果大小事200*200。
缓存一个圆型的Shape
var shape = new createjs.Shape