flash 3d flash3d 研究所 pv3d 共享资源  | 经典范例  | 视频教程  | 友情链接  | 联系我们
登陆 | 注册  flash 3d 研究所
讨论区





最近更新:
● payday loan阁下在教程区里 回复“《pv3d, sandy, away3d...”(05:56:23)
● bad credit payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:13)
● payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:12)
浏览主题:PV3D 的内存问题太严重了

PV3D 的内存问题太严重了
ericvan76 (2009-04-02 16:08:20)

我们知道Flex本身的内存回收就有一些问题,而PV3D也有一些问题,比如说Cube的destroy,

           public function destroy():void
           {
                 var mat:MaterialObject3D;
                 for each(mat in materials){
                       mat.unregisterObject(this);
                 }
           }

materials不是Collection,好像没有办法被cycle到吧,我把它改成了materials.materialsByName 才对,另外我又加了些其它处理:

           public function destroy():void
           {
                 var mat:MaterialObject3D;
                 for each(mat in materials.materialsByName){
                       mat.unregisterObject(this);
                       materials.removeMaterial(mat);
                       mat=null;
                 }
                 
                 this.materials=null;
                 
                 this.geometry.vertices.splice(0,geometry.vertices.length);
                 this.geometry.faces.splice(0,geometry.faces.length);
                 this.geometry.vertices=null;
                 this.geometry.faces=null;
                 this.geometry=null;
           }

这样一来,从StatsView里面看mem占用情况减少了好多。("好多"是因为我的case里有1000个Cube)看来PV3D里面的问题还真不少,希望在PVX中有所改善。



flash 3d 研究所 DDM君
(2009-04-03 10:03:13)
感谢ericvan76君分享^^
嗯,pv3d写的人多,而且互相大多通过网络沟通,有很多重复操作和互相抵消的代码。

flash 3d 研究所 yzhkof
(2009-04-13 15:23:06)
哎,pv3d的内存问题是麻烦,在profile里看更是。。。

很多对象都没法被销毁

flash 3d 研究所 DDM君
(2009-04-13 19:20:32)
免费的开发就是这样,反正都不给钱,就都不负责任。哈哈(对免费物品的抱怨哈~)

评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了