This is not memory leak. The CPU increase in your case is due to transformation that involves memory intensive operations. Memory leaks when the memory consumption increases over time without resetting . Usually you should check if you clean up used instances and their pointers

Sent from my iPhone

On Jun 4, 2010, at 8:23 PM, squ <[email protected]> wrote:

what do you mean by memory leak? please explain, I might be having the
same problem, I use code similar to this one:  _plane.rotationY += 2;
and my CPU usage just goes up to 80%

On 4 Cze, 18:24, colouredfunk <[email protected]> wrote:
Hiya,

I've been having memory leak problems with a project that I'm working
on.. It's a massive project so thought I would set up a little test to
see if I can completely kill away3D from memory...

Below is the code I'm using, but even this has got a memory leak...

package
{
        import away3d.containers.View3D;
        import away3d.materials.WireColorMaterial;
        import away3d.primitives.Plane;

        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import nl.demonsters.debugger.MonsterDebugger;
        [SWF(backgroundColor="#000000", width="800", height="600")]
        public class MyTest01_viewCameraScene extends Sprite
        {
                private var _view:View3D;
                private var _plane:Plane;
                private var _clickFlag:Boolean = false
                public function MyTest01_viewCameraScene()
                {
this.stage.addEventListener (MouseEvent.CLICK, _onMouseClick)
                }
                private function _onMouseClick(e:MouseEvent):void
                {

                        if (_clickFlag) {
                                cleanUp()
                        } else {
                                ini()
                        }
                }
                private function cleanUp():void
                {
                        trace("cleanUp")
                        _clickFlag      = false;
removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
                        _view.scene.removeChild(_plane)
                        _plane = null
                        removeChild(_view)
                        _view = null
                }
                private function ini():void
                {
                        trace("ini")
                        _clickFlag = true
                        _view = new View3D();
                        addChild(_view);
                        _view.x = 400;
                        _view.y = 300;
                        _plane = new Plane();
                        _plane.width = 500;
                        _plane.height = 500;
                        _plane.yUp = false;
                        _plane.bothsides = true;
_plane.material = new WireColorMaterial (0xFF0000)
                        _view.scene.addChild(_plane);
addEventListener(Event.ENTER_FRAME, _onEnterFrame);
                }
                private function _onEnterFrame(e:Event):void
                {
                        _plane.rotationY += 2;
                        _view.render();
                }
        }



}- Ukryj cytowany tekst -

- Pokaż cytowany tekst -

Reply via email to