Memory Leak in FlashEff2Code

Posted by Asai 
Memory Leak in FlashEff2Code
March 13, 2010 02:14AM
Greetings,

I have made a rotating text "slideshow" using FlashEff2Code. The issue which I'm running into is that I can't seem to plug what appears to be a memory leak. I have 7 different transitions which I'm using in the slideshow. Each one progressively uses up more memory. Fine. But what methods are available for clearing this? It eventually harms the performance of the transitions. I am using the following code to try to clear it, but it's not working.

private function clearFlashEff():void
		{
			flashEffCode.removeEventListener( FLASHEFFEvents.TRANSITION_END, playText );
			flashEffCode.removeAll();
			flashEffCode2.removeAll();
			var j:uint = flashEffCode.numChildren;
			while( j-- )
			{
				flashEffCode.removeChildAt( 0 );
				flashEffCode2.removeChildAt( 0 );
			}
			
			removeChild( flashEffCode );
			removeChild( flashEffCode2 );
			flashEffCode = null;
			flashEffCode2 = null;
			
			System.gc();
		}
Re: Memory Leak in FlashEff2Code
March 16, 2010 04:19PM
Bump. Any of the main developers on this project have any insights on this?
Re: Memory Leak in FlashEff2Code
March 19, 2010 02:22PM
Asai,

The code you are already using to remove the actions flasheff2 component initiate looks correctly and I am not sure why are you still encountering that Memory Leak. Please open a new support ticket, attach the source files and one of our developers will take a closer look to that issue.

[www.jumpeyecomponents.com]



Edited 1 time(s). Last edit at 04/22/2010 11:52AM by florodebat.
Re: Memory Leak in FlashEff2Code
April 01, 2010 01:00PM
BUMP.

I'm having the same issue. Serious memory leaks when using flasheff2 for visual effects. I'm using it for a full screen 24/7 kiosk that, when implementing Eff, literally grinds to a halt after about 2 hours.

I'm using the same techniques as above, with memory continuing to leak in increments of about 5kb every 13 seconds. I cannot post my source anywhere right now, as I'm locked down by NDAs.

We are pulling our hair out - myself, my team, and my client - because we all absolutely LOVE the ease of which we were able to implement visual effects, and they're beautiful on 42" plasmas, but if they continue to kill this project, I am forced to find another route that works.
Re: Memory Leak in FlashEff2Code
April 01, 2010 01:28PM
metavurt,

I am not sure if the memory leak you are experiencing there is caused by the same circumstances in which Asai experience it or is is something else related. However I recommend you to also open a new support ticket , attach you source files and our technical team will try to help you.

[www.jumpeyecomponents.com]
Re: Memory Leak in FlashEff2Code
April 22, 2010 01:55AM
metavurt, did you ever get an answer/solution? We had the same exact problem with a file that needed to loop at least eight hours. The jumpeye guys put wads of custom code all over our fla and it worked, but it was a very complicated solution to something that should not be happening in the first place.

We are debating whether to use flasheff components in an upcoming project, but cannot do so if we have to first use the components, then insert voluminous quantities of actionscript just to clear out memory. I used Macromedia Director back in the 1.0 days and did not have to do this much work to clear out memory.
Re: Memory Leak in FlashEff2Code
May 05, 2010 11:05AM
jumpeyeKitty,


Really sorry for that issue. We have made everything possible to optimize the flasheff2 component as much as it was possible. However it seems that there are particular looping scenarios(like yours) in which the component fails to remove all the initiated actions. Basically the flasheff2 component is removed from stage after the transitions ended . Bellow is a code that will call the removeAll(); method on each flasheff2 instance when the "REMOVED_FROM_STAGE" event occurs (this code should be in the first frame).

function rm(ev:Event):void{

    var target=ev.currentTarget.target
    ev.currentTarget.removeAll();
    this.removeChild(target);

}
function entFrame(ev:Event):void{

    for(var i=0;i<this.numChildren;i++){

        if(getChildAt(i) is FlashEff2){

             getChildAt(i).addEventListener(Event.REMOVED_FROM_STAGE,rm,false,0,true);

        }
    }
}
addEventListener(Event.ENTER_FRAME,entFrame);
Re: Memory Leak in FlashEff2Code
May 05, 2010 03:22PM
Hey guys (at Flash Eff) I DO want to mention in a public forum that you were GREAT about supporting a quick turn around project we had, an supplied a working last minute solution to the memory problem that pleased us and our client. You didn't have to, but it was great support. Thank you very much.
Re: Memory Leak in FlashEff2Code
May 06, 2010 06:47PM
Hello

I've got a very similar issue as well, it's a full screen flash vid which is supposed to run 24/7, but the FlashEff2 effects are causing me to lose about 2MBs of memory every time they're run. I tried to use the snippet you posted above, but it never got run (my timeline is only 1 frame long). I tried to adapt it to fit my needs, which seemed to slow, but not fix the issue.

Here's what I'm calling at the start of each loop:

for(var i=0;i<this.numChildren;i++) {
   if(getChildAt(i) is FlashEff2) {
      trace('removing...');
      var effect = getChildAt(i);
      effect.removeAll();
   }
}

I'm not removing the target, because the target is reused over and over again. IE: There's 3 dynamic textboxes on the stage, and I apply the affect to it, and then apply a new effect to the same box over and over through the movie.



Edited 4 time(s). Last edit at 05/06/2010 06:51PM by Raverix.
Re: Memory Leak in FlashEff2Code
May 11, 2010 02:52PM
Raverix,

I understand you already opened a ticket support regarding that problem. The guys from tech department will provide a solution for you as soon is possible. Thank you for your patience.



Edited 1 time(s). Last edit at 05/11/2010 02:53PM by florodebat.
Sorry, you do not have permission to post/reply in this forum.