首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >释放createjs中使用的资源

释放createjs中使用的资源
EN

Stack Overflow用户
提问于 2016-11-10 08:39:24
回答 1查看 116关注 0票数 0

我有一个容器,它有多个雪碧MovieClip对象显示在Stage上,其中所有的精灵都使用一个3MB的png SpriteSheet

在某个时候,我加载另一个SpriteSheet以显示使用它的另一个Container

在尝试和错误的过程中,我看到设置ContainerContainer属性是不够的,所以我使用了removeChild(),也使用了缓存(),这两者都有助于正确的框架化。

问题是,随着我加载更多的容器和spritesheets,框架有时会变得非常低。

为了释放使用过的资源,我还需要采取其他步骤吗?

常见的陷阱是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-14 13:51:02

是的,当我第一次开始用createJS创建应用程序时,我自己也遇到了很多性能问题。

如果您的帧速率低于应该的速率,那么请确保缓存没有从Bitmap创建的每个对象,因为这些对象不会不断刷新,也不会消耗性能。例如,Shape类型对象不断刷新,性能非常密集。

对于没有动画内容的对象,您应该使用以下模式:

代码语言:javascript
运行
复制
var bounds = displayObject.nominalBounds;
displayObject.cache(bounds.x, bounds.y, bounds.width, bounds.height);

这将缓存对象并使其几乎不消耗性能。此外,当到了摆脱它的时候,请确保使用如下所示的方法来剥离资产:

代码语言:javascript
运行
复制
//if it was added as a child of a container
displayObject.parent.removeChild(displayObject);
//if it was cached prior
displayObject.uncache();
//when you don't need it anymore, for garbage collection
displayObject = null; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40523171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档