as3 performance - actionscript-3

Im trying to experiment with actionscript using flashDevelop and looking at different tutorials online. But when i try to copy and paste code from a tutorial and run it myself the performance it extremely slower. For example i was looking at this tutorial about particles http://active.tutsplus.com/tutorials/effects/squeezing-more-juice-out-of-the-flash-player/ that shows a warterfall effect at the bottom it runs fine in my browser but if i copy the code and run it in flashDevelop it runs really slow even though its the same code. I have no idea why and cant find anything online.
Thanks for any help

They had mentioned a point in the Speed Test #4.
CAUTION: The regular createMovieClipCircles() method is so inefficient
that you should not let it run for more than a few seconds. The Flash
Player will continue to slow down until it eventually grinds to a
halt.
Have a look there. :)

Perhaps it's the extra overhead of being in debug mode in FlashDevelop? Try opening the swf that was compiled in your browser or in Flash Player and see if it still runs slow?

Related

What is "Running AS3 attached to frame" and why is it killing my startup time?

I'm working on a desktop application in Adobe AIR, and I've been looking to decrease startup time. I used Adobe Scout and found that Running AS3 attached to frame takes a considerable amount of time (5058ms)
What is this exactly, and how can I slim this down? I moved all my constructor code into an init function, in hopes that would help, but the difference was infinitesimal. I have no timeline code. Bitmaps/movieclips are stored in the library.
Any help is appreciated! Thanks.
As noted above:
Click on "Running AS3...". The code will be shown in the "Actionscript" window
Also, enable advanced telemetry to troubleshhot the root cause of the slow startup time.

Is there a simplified explanation of how to setup an actionscript IDE?

I've recently purchased some beginner books on basic ActionScript animation and also downloaded the flashDevelop IDE. I've taken a couple Java classes and have a VERY basic understanding of coding and at that, computers in general. I'm having a difficult time figuring out this IDE (eclipse was setup for me). I've downloaded the file and installed the IDE. I made a file and wrote some code but when trying to compile I get some sort of pathway error and also an SDK error. I'm completely lost on how to fix these issues as the results I've found through Google and stackoverflow are not simplified enough. I'm also confused about how this ActionScript code will be turned into, say, a ball jumping around the screen. Could I please get a VERY simple, borderline special needs explanation of how to setup this IDE and also any info on additional programs needed to actually turn the code into an animation? Forgive me for my ignorance, but I'm starting from the ground up and any help will be much appreciated. Thank you
You may try Flash Builder, and you could change different version of sdk in flash builder. http://www.adobe.com/cn/products/flash-builder.html

Real time console output in application via trace

Is it somehow possible to output the traces in a deployed application to a display element?
I'm aware of the debug deploy in Flash Builder, but unfortunately I can't convince my iPad to work with that, so a real time trace output in my application would be really great.
Edit: On second thought, a full console output would probably be best. The flash console kostik suggested looks pretty good, so making it display the console output would be ideal.
Highly recomend monsterdebugger and flash-console however sometimes you just need to integration offered by an ide. Flash develop has some nice debugging features however I have come to love Intellij Idea's new features for flash debugging. Here is a peek of some recent gems http://blogs.jetbrains.com/idea/2011/12/features-of-flex-debugger/
http://code.google.com/p/flash-console/

Flash Builder bug?

Irritatingly, Flash Builder refuses to implement any changes I make to the program when I run it. I can't find any documentation of this anywhere online after a brief googling, just wondering if anyone has come across this problem before and/or found a solution? I don't want to have to export a release build every time I want to check if any changes have been implemented successfully (I'm just assuming that'd work)
It happened to me once before but I overcame this problem simply by starting a new project as there wasn't much of any significance, and couldn't easily fix it.
It's pretty much as simple as it sounds tbh, having returned to my computer a couple of hours after leaving it I find any changes to any part of the code have no impact on what is displayed when I go to run...
Any insight would be much appreciated
Thanks
Josh
It could be the cache of your browser. Clear your cache and see if that works..
It could also be because you have classes that are compiled in external swf's. If you compile in Flash Builder, you're not persee recompiling those classes. Instead, compile the external swf which has links to those classes.
You'd think if this were a bug in Flash Builder, people would be complaining about it a bit more often, check that your browser is updating properly, most likely you've got the SWF stuck in your browser cache.
Check the "clear application data on each launch" in Run/Debug Configuration window.
This will clear and uninstall existing app installed in your test device, so every new launch will have clean build.
Tips : Make sure to cmd/ctr + B first, In every run/build.

How can I speed up the compile / publish time of Flash IDE projects

I'm sick of waiting hours for Flash to publish. .NET / VisualStudio projects are WAAAAY faster - is that only compiling the classes that have changed?
Update: Does the Flash IDE re-encode all your sounds and images every time you publish? Can't it cache them somewhere?
In Flash CS4, disabling Warnings Mode speeds up code compilation by about 30% (still quite slow). Strict Mode also, but I'm not sure to what extent.
As for library assets, the optimal speed is achieved by setting JPEGs to "Use imported JPEG data" and PNGs/GIFs as "Loosless PNG/GIF".
As for sounds, I'm not 100% sure, but I think that ADPCM/mono-to-stereo/5kHz/2bit was the fastest.
The [Embed] tag might also help (it doesn't do any convertion) but it includes quite a bit of Flex code.
And as a tip, in Flash CS4 you can batch select assets in the library and apply settings, so you can easily set the optimal speed settings while on development and then change them for deploy.
Uncheck "Warnings Mode" in File > Publish Settings > Actionscript 3.0 Settings. This makes a huge difference. In a recent project I reduced my compile time from 1 min 20 sec down to 7 secs! Yeah, I was astonished too.
For me it turned out that I removed the character filter on my text fields. This seems innocuous, but in fact it has to embed every fracking glyph it can which resulted in a huge swf file that took forever to compile! Anyhow, definitely check that - I think a lot of people could easily overlook this.
You could try to split up your application to separate .swf files and then load them from the main movie.
Also it might be worth to look at your environment. Maybe your machine is running out of RAM, you are using an network drive or your hard disk is encrypted.
Also if the application is getting that big, is Flash really the right technology?
The compiler is just plain slow in the Flash IDE. I can understand the slowness if you have a lot of images in the library that have to be re-exported, but the compiler is inexplicably slow when only compiling code as well.
For example, I have a super basic Away3d scene that requires five full seconds to compile (no library assets). The exact same code compiles in Flex in less than a second. I don't know what's different between the two compilers, but doing any project with a heavy code base in the Flash IDE is just plain painful. As the project grows you'll have to wait longer and longer.
If you're doing a 3D project or something that requires a lot of code compilation, I recommend doing an Actionscript-only project in Flex/Flash Builder. Maybe CS5 will have a better compiler...
You might want to check your character embedding -- If you accidentally click Embed all characters it could embed 1000s of characters, it would significantly slow down your publishing speed
It all depends on your project. I know of some animators that use Flash for publishing broadcast content and that usually takes a long time to publish. There's no getting around it for them. Otherwise, if it takes hours to publish an SWF that will be viewed on the web, then you're probably not going about things the right way.
Additionally, a few obvious culprits that immediately increase the time that it takes to compile a SWF are embedded video and embedded sound. The more items the IDE must compress for output (this includes images too), the longer it will take to compile.
You can't make the Flash IDE cache embedded media (but images won't be reencoded if you import PNGs/GIFs and set the compression to lossless in the library). But if it's a web project you should be loading media from external files anyway, so you don't have to preload all data before anything shows up on the user's screen. You can either load (or even stream) the media files directly or embed them in a separate SWF and load from there, but I don't recommend the latter as it adds unnecessary complexity.
When compiling is too slow, I usually strip down the library - read load images (png, jpg) and sound via URLRequest.
Usually the thing that really slows down the compiler is importing illustrator (ai) files.
disable warnings in the Publish Settings > Flash > as3
If you're even willing to change languages you could use Haxe. It compiles to SWF and is incredibly fast at compiling. It's probably not worth it to change to a different language at the point where you have hour long compile times, but look into it when you are starting your next large project.