Dec 08, 2006

Flash Performance Tips Part I

Optimizing Flash sites to run efficiently is 93% perspiration, 6% electricity, 4% evaporation, and 2% butterscotch ripple. Despite many coders' frustrations over the performance of the player, there are ways you can make your site run more efficiently.

Here's a couple of tricks we use on a daily basis to keep things running smooth. Nothing fancy or complicated, but guaranteed success.

UPDATE: Tera at trick7 posted a Japanese translation for our fine friends on the other side of the Pacific. We think that's pretty cool. Check it out here.



Masks Are Bad
Well, they're not all bad. Masks can be exceptionally useful, as we all know by now. They're the #1 performance killer though. When you mask something, you force the player to decide what needs to be rendered and hidden every single frame. So how do you get around without masks? With a little bit of patience and tricky layering (such as making the background the foreground with a giant hole cut out for where your viewable area is) you'll be able to get the same end result without the performance hit.

Alpha PNGs and Video
Same deal as the masks. Sometimes its unavoidable, but you're still asking the player to figure out what to render under the alpha. Sometimes we'll make an alpha video at half size and then scale it in Flash. You'd be surprised how good it still looks.

Oh, and with regards to alpha video: Try experimenting with PNG sequences in place of the alpha video. Video usually performs a little better, but its always worth looking into.

Frame Rate
Despite all discussions otherwise, there is no magic framerate. We use 25 or 30 because (as far as I know) we like it best. At some point we tested and determined one was slightly better than the other, but generally speaking this is not going to be the primary cause of a site running slow. I wouldn't generally advise going higher than 30 though, just because you're asking the player to render an awful lot awfully fast...

cacheAsBitmap and BitmapData
Where possible use cacheAsBitmap to rasterize vector items. You'll force Flash to draw the symbol one time and then never again. On the flip side, if you're scaling or rotating a symbol NEVER set it to cacheAsBitmap. Then you force Flash to render AND recapture the raster every frame, making the process slower instead of faster.

With sites like the Da Vinci Code and Nike Air, we would take a dynamic screenshot of the section, draw it into an empty movieclip and then manipulate the screenshot to animate it out. This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice.

_visible is better than _alpha
_alpha = 0 and _visible = false are totally different things. Alpha determines the opacity of a clip. Visible determines whether or not the clip should actually be rendered by the player. If you're setting something all the way invisible, use the _visible property.

onEnterFrame and setInterval
When you're through with these processes, clear them from memory with onEnterFrame = null; and clearInterval(myInterval); respectively. Leaving these around when you're not using them is like leaving the telephone off the hook when you're done with a call.

Pre-define your math
Got a sine wave you're about to draw? Is it the same sine wave every time? Hard code the numbers into an array. By doing the math for Flash, you're saving some complex processes in advance. I even experiment with using a Tween that I nextFrame() thru to get all of the entries into an array before hand.

Silent Sound
We use this as a last resort, but its a trick worth mentioning. By putting a silent sound file on a seperate layer for the duration of your timeline, setting it to stream and looping it, the player will automatically drop frames to keep up with the sound.

Got any other good ones? I'm sure I didn't list them all here.

Share this Post


                           

Comments


sohbet     Oct 13, 2009
Here's another one I heard:
When using mouse coordinates to set positions, round the mouse position because it goes out to something like 8 decimal places.

sohbet     Sep 02, 2009
If I remember correctly, the 31fps practice was established to workaround issues on the Mac version of the Flash 6 Player. I believe this issue has been resolved in subsequent releases of the Flash Player and is therefore no longer necessary.

Goldbarren     Aug 30, 2009
Hello, thanks for the tipps, especially for the tipp with the framerate for the flash-animations. I wondered always, why the animation is not really "flowing".

mynak     Jul 29, 2009
I included the interface as part of the game, putting it all on the root. I then loaded the intro in an empty movie clip. The game performed much better.

Personalisierte Kinderbücher     Jul 13, 2009
Hello, thanks for the tipps, especially for the tipp with the framerate for the flash-animations. I wondered always, why the animation is not really "flowing".

sohbet     Jul 09, 2009
A common misconception of using '_visible' is that when set to false, it does know to stop rendering that object (which is good), however anything going on inside the object (such as code or motion tweens) still continues to happen. So for example, if you have a movie clip with a bunch of child movie clips within it, and some of them are components with onMouseMove events and stuff, the events are still getting triggered everytime you move the mouse. There is certainly a time and a place to use '_visible', like to define a hit area and then hide the clip. Just make sure you are careful with how you use it and always make sure to either call down through all objects to disable code and stop tweens and then hide everything, or simply remove the clip from the stage all together and then reload it next time you need it.

sohbet     Jul 03, 2009
I completely agree with Christopher B. It really is inspiring to see carefully considered typography playing a central role in a site’s design. Thanks also for compiling the appetising list of resources that I am very much looking forward to reading.



James Mason     Jul 03, 2009
Big thanks for this article, this has totally helped my Flash authoring. Cheers!

Festgeld     Jun 29, 2009
I think there is no difference.

vatan     Jun 26, 2009
Anything loaded into a movieclip seems to always get a lower processing priority than stuff on the root. I was recently developing a game with an animated intro. I had one SWF that contained the main interface and the intro, and another SWF for the game itself. The intro then loaded the game into an empty movie clip.


chat sohbet     Jun 15, 2009
and your tips/tricks are pretty neat for sure!

waiting patiently for more parts of this article ;-)

til then and your blog rocks,
kral baba

Bayerischer Wald Urlaub     May 31, 2009
By the way, Jeremiah, double-clicking on a word is supposed to select that word. And if you don’t let go after the second click, you can drag to select the whole sentence or paragraph. It’s very handy when you copy and paste a lot.

sohbet     May 27, 2009
Thanks a lot for writing it.



Urlaub Bodenmais     May 19, 2009
Nice tips man, thanks a bunch.

Once trick I learned while making some flash games is that a higher framerate on the fla file does not translate into smoother gameplay. In fact, you want the framerate as low as possible so that the main loop has adequate time to compute. I found a solid 18 fps actually looks better visually than an inconsistent 24-30 fps.

Greets Urlaub Bodenmais

tyler     Oct 02, 2008
How do you have an image with a "giant hole cut out" without using alpha png's or masks? Wouldn't a png with an alpha channel for the giant whole be the same a png with transparent edges?

Noclegi     Jan 05, 2008
Yes, thanks guys for taking care of this. Much appreciated :)

Stereo Vinyl     Jan 04, 2008
nice, thx

m?rc     Jan 03, 2008
oh thank you baby :)

Mielno     Dec 31, 2007
Thanks - its very interested - best wishes and happy new year - Mielno

www.r10.net küresel ?s?nmaya hay?r seo yar??mas?     Dec 28, 2007
Really interesting article and useful informations!

Artikelverzeichnis     Dec 28, 2007
By the way, Jeremiah, double-clicking on a word is supposed to select that word. And if you don’t let go after the second click, you can drag to select the whole sentence or paragraph. It’s very handy when you copy and paste a lot.

poker     Dec 27, 2007
very nice blog

SEIKO     Dec 24, 2007
Good article , thank You

zado??uczynienie     Dec 23, 2007
odszkodowania powypadkowe

Sohbet     Dec 22, 2007
very nice blog good blog..

nieruchomo?ci pozna?     Dec 13, 2007
Thanks for this article.

Blog WordPress     Dec 07, 2007
This is cool! I like it a lot.

Mini Storage     Dec 04, 2007
thanx for artichle

mirc     Nov 28, 2007
wery nice

Hip Hop Klamotten     Nov 27, 2007
This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice.”

Thanks

tapety     Nov 26, 2007
It is good that someone writes articles which really matters something. Thank you for this article, it's full of knowledge which is hard to find in tons of rubbish in our famous world wide web. Regards and good luck!

klimatyzatory     Nov 21, 2007
Thanks for this article i`m search many weeks,but now i found this information here.

Robomonkey     Nov 21, 2007
One thing to remember is to never let Roydling do your coding!

gry do pobrania     Nov 16, 2007
realy nice article, great site, thanks for very interesting informationss

Feng Shui Beratung     Nov 16, 2007
Thanks for very interesting article. btw. I really enjoyed reading all of your posts. It’s interesting to read ideas, and observations from someone else’s point of view… makes you think more. It’s really good written and I fully agree with You on main issue, btw. I must say that I really enjoyed reading all of Your posts. It’s interesting to read ideas, and observations from someone else’s point of view…

yellowpages     Nov 11, 2007
Really interesting article and useful informations!

Hotel Bayerischer Wald     Nov 10, 2007
Thanks for very interesting article. btw.
I really enjoyed reading all of your posts.
It’s interesting to read ideas, and observations from someone else’s
point of view… makes you think more. So please keep up the great work.
Greetings

telewizja n     Nov 10, 2007
Time on the n of the TV ( telewizja n)

Television New Generation- n, then
the Polish satellite television digital
platform of the Group ITI. Users nbox HDTV, the decoders of the platform n have the access to new functions and the us?ug.Mo?liwo?ci of equipment considerably they grew rich. We can now operate internet browser, internet nRadio. We will be also able to choose the programme or also the film
emitted about the chosen time defining only his species. Connecting the TV sat to internetu will deliver us additional
possibilities. While
the inspection of the sport programme they will be displayed the compositions of teams, the achievement of teams. Our
satellite television will be to deliver us music from a few hundred
internet radio broadcasting stations then. As it would be this little, we can choose stations created through stars the musical scene in our nhdtv and to also execute the purchase of the wide library of films.
Long winter evenings will be more pleasant in this way.

Sohbet - Chat     Nov 10, 2007
Sohbet, Chat

klimatyzacja     Nov 08, 2007
Thanks for the post. very intresting.


klimatyzatory

Skischule Bodenmais     Nov 07, 2007
I think these blog is really useful for new comers and Excellent resource list.
It´s a very interesting Blog and simple answer of many questions.
Keep up the good work!
Thanks it helps me a lot…

Fotka Manager     Nov 06, 2007
Good Job ! Thanks for this art ! Bye for autor !

Sohbet     Nov 05, 2007
By the way, Jeremiah, double-clicking on a word is supposed to select that word. And if you don’t let go after the second click, you can drag to select the whole sentence or paragraph. It’s very handy when you copy and paste a lot.

Partnerringe     Nov 05, 2007
Super Super Super

Bayerischerwald     Nov 05, 2007
Schöne Interessante Seite

Gry Flash     Nov 02, 2007
Thanks for a tips. It's very usefull

Lastminute Bayern     Nov 01, 2007
super geile Seite

Wellness-Berater     Nov 01, 2007
super Site

Skischule Bodenmais     Nov 01, 2007
good stuff, mann

Catering     Oct 30, 2007
Super Blog ! :)

Perfumy     Oct 30, 2007
Good Job ! :)

Miód     Oct 30, 2007
Great Article !
GREAT !

Kanuverleih     Oct 27, 2007
Thanks for very interesting article. btw.
I really enjoyed reading all of your posts.
It’s interesting to read ideas, and observations from someone else’s
point of view… makes you think more. So please keep up the great work.
Greetings.

Wellnesshotel Bayerischer Wald     Oct 27, 2007
good stuff

Wellnesshotel Bayerischer Wald     Oct 27, 2007
Thank You for another very interesting article.
It’s really good written and I fully agree with You
on main issue, btw. I must say that I really enjoyed
reading all of Your posts. It’s interesting to read ideas,
and observations from someone else’s point of view… it makes
you think more. So please try to keep up the great work all the time.
Greetings

Handball     Oct 25, 2007
Really interesting article and useful informations! Best regarts from Germany send Handball!

Flash Performance Tips Part I « See the Post     Oct 11, 2007
[...] read more | digg story Posted by seethepost Filed in news [...]

darmowy warez     Oct 03, 2007
realy nice article, great site, thanks for very interesting informations

Grosshandel     Sep 28, 2007
Großhändler

Katalog Stron     Sep 27, 2007
With scrollRect propertry pixel level is used, but on the other hand with greater text areas (2880 px if im not wrong) cacheAsBitmap does not work.

scrollRect still has the best performance for a sroll pane with smaller areas anyway.

cybereality     Sep 12, 2007
Nice tips man, thanks a bunch.

Once trick I learned while making some flash games is that a higher framerate on the fla file does not translate into smoother gameplay. In fact, you want the framerate as low as possible so that the main loop has adequate time to compute. I found a solid 18 fps actually looks better visually than an inconsistent 24-30 fps.

Elliot     Sep 07, 2007
I found this one tucked away in Adobe's developer center...
Tip: When applying a blur filter with ActionScript, using values for blurX and blurY which are powers of two (such as 2, 4, 8, 16, and 32) can be computed faster and offer the benefit of a 20–30% performance improvement.

Arthur Fuse     Sep 05, 2007
I'm hitting performance issues with transparent .png files that I use for animation brought from AE. I like to use .png's because I have more control that way. I was wondering if the transparency should be erased in each png, or kept intact. Does anyone have any tips on boosting Flash performance when it comes to bitmap data?

Thanks.

fdsa     Aug 27, 2007
wowgameleveling
[URL=http://www.wowgameleveling.com]wowgameleveling[/URL]

izms » Blog Archive » links for 2007-08-05     Aug 05, 2007
[...] BIG SPACESHIP LABS / » Flash Performance Tips Part I Here’s a couple of tricks we use on a daily basis to keep things running smooth. (tags: flash actionscript performance tips optimisation) [...]

Ytelsestips + div snacks « Soulpolice     Jun 26, 2007
[...] Ytelsestips + div snacks Våre venner på det store romskipet… [...]

» ??????????8?: Flash(.swf)??????     Jun 23, 2007
[...] ???? [...]

// JPZ » BIG SPACESHIP LABS / » Flash Performance Tips Part II     Apr 09, 2007
[...] Flash Performance Tips Part I / Part II [...]

????     Apr 02, 2007
Support such a good blog, a collection.

Iain Smith     Mar 17, 2007
Hi I have been looking at your tips and would like to ask the following question about the below statement...

could you explain the method of taking a dynamic screenshot and animating it? I am a little confused to what you mean here

"With sites like the Da Vinci Code and Nike Air, we would take a dynamic screenshot of the section, draw it into an empty movieclip and then manipulate the screenshot to animate it out. This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice."

Thanks

ervin     Mar 13, 2007
good tips,thanks! i have a question: say that i put 10 same sized transparent pngs on top of each other and want to move it as a movieclip. Does setting cacheAsBitmap true treat it like moving one bitmap, or it does not help at all in this issue?thanx

jens daemgen     Mar 10, 2007
I've recently discovered that removeMovieClip() doesn't work as supposed. When dealing with huge amounts of dynamically created movieClips try to reuse them instead of remove and create again.
And be aware that difficulties may arise when using mc.getNextHighestDepth() .. better use a hard coded number or use a class that manages the depths control. E.g. a static class with a function like: StaticClass.getNextHighestDepth():Number {
return __nextHighestDepth++;
}

Maybe it helps some people. It drove me almost crazy. And BTW: the GarbageCollector of Flash can be considered garbage itself. Don't count on it. Be as precise as possible with you destroy methods.

And: thanks a lot for all those tips on this page!!

Jason Mckim     Mar 07, 2007
Regarding when you're talking about using custom datatypes instead of objects. As far as sealed classes; I think that's AS3.0 only; am I correct? Does one still get performance improvement using custom datatypes for something like bubbling event objects with 3 or four known props? Is it still worth defining a cutom datatype?

Karl     Mar 07, 2007
nice spaceship

BIG SPACESHIP LABS / » Improving Performance with BitmapData     Mar 06, 2007
[...] VISUALIZER 1.2 View | Download INSTANCE HELPER Download recommended products: Improving Performance with BitmapData Mar 06, 07 by Jamie | miscellaneous | Way back in Performance Tips Part I, I mentioned the idea ofusing BitmapData to capture a dynamic “screen shot” of the movieclip when transitioning between different sections of your site/application/whatever. The idea is to render a flat bitmap — a JPG, basically — instead of all of those PNGs and videos and vector graphics you have floating around here. [...]

Mihael     Mar 05, 2007
Hello ! It is cool !

Diego Rotondo     Mar 03, 2007
Hello! sorry for my english
i'm building a city map that moves inside a mask, when a use a jpg inside works fine but the file is too big, and if i try to put a vector map inside, the file es good but the movements is too ugly...
the cacheAsBitmap seems don't work.. maybe the map is more bigger then permited... take a look and tell me if you have something in mind.
Thanks a lot

elstrausso     Mar 01, 2007
Could you please elaborate on the process you recommended/used on the Nike Air and Da Vinci sites- "draw it into an empty movieclip and then manipulate the screenshot to animate it out." Thanks!

Phil Thornley     Mar 01, 2007
I too was wondering if you'd expand on this too!
With sites like the Da Vinci Code and Nike Air, we would take a dynamic screenshot of the section, draw it into an empty movieclip and then manipulate the screenshot to animate it out. This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice.

This is all truly inspiring stuff your doing here!
Thanks

Kevin Sweeney     Jan 31, 2007
Here's another one I heard:
When using mouse coordinates to set positions, round the mouse position because it goes out to something like 8 decimal places.

Andrew Langley     Jan 22, 2007
Something I discovered recently.

Anything loaded into a movieclip seems to always get a lower processing priority than stuff on the root. I was recently developing a game with an animated intro. I had one SWF that contained the main interface and the intro, and another SWF for the game itself. The intro then loaded the game into an empty movie clip.

This minute I did this, the game would always run terribly. So instead, I included the interface as part of the game, putting it all on the root. I then loaded the intro in an empty movie clip. The game performed much better.

I haven't verified this, but it worked for me that one time. The difference in performance was quite drastic.

Lex Talkington     Jan 18, 2007
Great tips!! you mention:
With sites like the Da Vinci Code and Nike Air, we would take a dynamic screenshot of the section, draw it into an empty movieclip and then manipulate the screenshot to animate it out. This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice.

...then manipulate the screenshot to animate it out...

just wondering what you mean by this, like scaling/repositioning that "screenshot" - or drawing to it with animations happening over it? Thanks for any info!

allan     Jan 10, 2007
hey guys, great work, and great tips! Thanks. I've also read that setInterval at a short duration is more efficient than onEnterFrame. Also, I have a question regarding flash performance when nesting complex movieclips. I have a movieclip that is a parent for the entire flash movie (it loads a swf in it). The parent of that holder mc has various animations going on inside it. I've noticed when I do this the player lags considerably but only after some time browsing. I've debugged and ensured code is being cleaned up properly. Have you noticed anything like this when nesting complex mcs? Thanks again, and you guys ROCK!

andrew lloyd :: creative design » Blog Archive » Flash Optimisation     Jan 04, 2007
[...] NY based creative agency and after some digging around, I assume that the posts by ‘Caleb’ is the Caleb who used to work in Yahoo! US. http://labs.bigspaceship.com/blog/?p=16#more-16 [...]

Kevin Sweeney     Dec 14, 2006
For heavy PNG sequences, I use the following JSFL script to lower the quality of images that contain a lot of movement (I usually leave the first and last 3-5 frames at a higher quality). Probably doesn't save a whole lot of processor speed, but it does reduce your file size:

http://chattyfig.figleaf.com/pipermail/flashcoders/2006-August/172030.html

jonnymac blog » Flash Performance Tips     Dec 14, 2006
[...] Big Spaceship has a wonderful labs site, and they just posted several great Flash optimization tips. While the list isn't comprehensive, the tips are a great reminder about the little things you can be doing to get your Flash creations to run smoother. [...]

Mike     Dec 13, 2006
Thanks dude.

Jamie     Dec 13, 2006
@Mike:

I'll draw up an example and post the source as soon as I get the chance to.

Mike     Dec 13, 2006
A working example or something would be cool for the "dynamic screen shot" functionality. Sounds really interesting and I can imagine it boosting performance quite a bit. Bigspaceship rocks -- as always.

Noel     Dec 12, 2006
Biffer,

If I remember correctly, the 31fps practice was established to workaround issues on the Mac version of the Flash 6 Player. I believe this issue has been resolved in subsequent releases of the Flash Player and is therefore no longer necessary.

christophe marand     Dec 12, 2006
thanks, such an issue

c.johnston     Dec 11, 2006
Biffer, where did you hear this?

Biffer     Dec 11, 2006
I heard 31fps & 21 fps were optimal framerates for cross platform?

Jamie     Dec 11, 2006
@Mikkel Bech: The technique might be a post unto itself, but I'll try and explain further here.

We've got an empty movieclip sitting at 0, 0 above our "section" (I'll call it mySectionClip for now). When the user chooses to navigate elsewhere, we create a new BitmapData, drawing mySectionClip into the empty movieclip. Now that we have this screenshot captured, we can remove or unload mySectionClip and effectively eliminate any processes while displaying a transition to the next section.

The end user sees mySectionClip freeze in place and we've freed up the processor exclusively for what they're seeing now, not what was going on right before they decided to navigate away!

Mikkel Bech     Dec 11, 2006
Uh - this one is a keeper! Thanks!

Can you elaborate on the following:

With sites like the Da Vinci Code and Nike Air, we would take a dynamic screenshot of the section, draw it into an empty movieclip and then manipulate the screenshot to animate it out. This is far, far faster than animating many elements out, or animating over top of many elements. I highly recommend this practice.

I don't quite get it ;-)

disassembled formulas » Blog Archive » Flash Performance Tips from Big Spaceship     Dec 11, 2006
[...] The production team from Big Spaceship has blogged some tips and best practices for optimizing the performance of your Flash sites and applications. Good Read. read more | digg story [...]

Özgür ALTAY     Dec 11, 2006
Thanks for this helpful tips guys!

@Julian:
With scrollRect propertry pixel level is used, but on the other hand with greater text areas (2880 px if im not wrong) cacheAsBitmap does not work.

scrollRect still has the best performance for a sroll pane with smaller areas anyway.

Jamie     Dec 11, 2006
I recommend onEnterFrame = null. It does the same thing as delete (sets the onEnterFrame for garbage collection, thus terminating the process), but on top of that in AS3 "delete onEnterFrame" will be/should be invalid.

I've migrating from using delete to setting a variable to null. That in itself should be a tip. :)

reintroducing.com Blogging Receptacle » Blog Archive » Flash Performance Tips     Dec 10, 2006
[...] Big Spaceship put up some of their performance tips that they use in house on some of their projects. Some pretty neat stuff in there, I didn’t know about a lot of those. [...]

Matt Przybylski     Dec 10, 2006
great tips guys, thanks for posting stuff like this up. it's always useful.

Dave Willis     Dec 09, 2006
When I code onEnterFrame handlers I always use "delete this.onEnterFrame" or "delete .onEnterFrame" to destroy the handler when I'm done with it. I noticed that you recommend "onEnterFrame = null" instead. Would that not simply set its pointer to null and orphan the object in memory or does Flash garbage collect orphaned objects? And if it does, wouldn't it be more efficient to destroy the object explicitly rather than let the player figure out that it needs to do that?

Savvas Malamas     Dec 09, 2006
Excellent!
Thank you spaceship!

Julian     Dec 09, 2006
Rather than using a mask to crop a viewport of content use scrollrect.

Quoting docs:

The scrollRect property allows you to quickly scroll movie clip content and have a window viewing larger content. Text fields and complex content scroll much faster, because pixel level copying is used to scroll data instead of regenerating the entire movie clip from vector data. To see the performance gain, use scrollRect in conjunction with a movie clip that has cacheAsBitmap set to true.

Ryan Taylor     Dec 09, 2006
and this one too:
_visible is good but...
A common misconception of using '_visible' is that when set to false, it does know to stop rendering that object (which is good), however anything going on inside the object (such as code or motion tweens) still continues to happen. So for example, if you have a movie clip with a bunch of child movie clips within it, and some of them are components with onMouseMove events and stuff, the events are still getting triggered everytime you move the mouse. There is certainly a time and a place to use '_visible', like to define a hit area and then hide the clip. Just make sure you are careful with how you use it and always make sure to either call down through all objects to disable code and stop tweens and then hide everything, or simply remove the clip from the stage all together and then reload it next time you need it.

Ryan Taylor     Dec 09, 2006
Here's another important one:

Sealed Objects
Always, always, ALWAYS define your own data types instead of using 'Object' whenever possible. Further more, make sure your object's are sealed (not-dynamic). In situations where properties of an object are getting called frequently (such as in a loop or enter frame/interval) it is sooo much faster if Flash already knows what properties exist in the object rather than having to check a dynamic object each time to see what properties it has.

Lorenz     Dec 09, 2006
great! just great!

I am searching all over the time for ressources on how to optimize the performance of my flash-apps...

and your tips/tricks are pretty neat for sure!

waiting patiently for more parts of this article ;-)

til then and your blog rocks,
lorenz

Battleman     Dec 09, 2006
Hey there - thanks for this.

Can you tell me if -

onEnterFrame = null

is any different to

delete this.onEnterFrame

??


Speak






Submit »