大家好,欢迎来到IT知识分享网。
在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();
shape.graphics.beginFill("#ff0000").drawCircle(0, 0, 25);
shape.cache(-25, -25, 50, 50);
有一点要注意,如果要在displayObject上使用filter的话,要在调用cache方法之前使用filter。
Bitmap的cache
在Bitmap对象中,关于cache总结成一句话就是:普通的bitmap一定不要调用cache方法;如果bitmap要使用滤镜filter的话,一定要调用cache。
DOMElement的cache
不适用,猜也知道。。。
Sprite的cache
因为Sprite已经是光栅格式,对于Sprite实例来说cache没有必要。不要为提高性能来调用Sprite的cache。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12810.html