When I transitioned from artist to developer, once I learned Flash I didn’t go any further. Sure I know PHP, Ruby, JavaScript and a few other languages but not as well as I know ActionScript. Where am I going with this? Well, when I was an artist I picked the right tool for the job, but as a programmer I locked myself into one language and made that my focus. In 2010 my New Year resolution and life goal is to become a Renaissance Developer just like I was as an artist. Here, in no particular order is my list of the languages I want to learn in 2010: Silverlight, Unity, HaXe, Object C…
Okay, I promise I will try very hard not to bore you in the next few hundred words. But basically I just want to present a way of determining how much faster a system will be if you speedup one (or more) or its components.
Say that you have an enhancement that can be made to speedup some part of an application.
And say that you know how much runtime you can save with the enhancement.
And say that you know what fraction of the total runtime that part of the application takes up.
Then you can determine how much you will speedup the application as a whole by making that enhancement…
I have been overly silent since the end of 2009, merely alluding to some changes on this blog. My goal, which will become more clear in the coming weeks, is to devote considerable time thinking on how to improve this site — and then actually do it. One of my main goals is to make good on my promise to release all the work used to create this site — a task I naively thought would not take that much effort to do. However, a promise is a promise.
During this holiday break, I took out a substantial amount of time to finalize and package up the icon set used for this blog under the (perhaps overly pretentious) name Iconic…
I did a lot of very processing intensive application during the last few years. Applications that required both CPU optimization and memory optimization. And I had a LOT of problem with the Garbage Collector of Flash. It was often holding the CPU for too long thus creating visible pause. That kind of behavior was of course unacceptable for real time application. I tried a lot of things in FlashIDE and FlexSDK to optimize what I could but most of that work was based on trial an error or misunderstanding of how GC really worked…
Thanks to the analysis Jackson Dunstan, I was able to find a “bug” in the Array management.
I did an article about array data structure in AS3 a few days ago, and Jackson did some more test on the array after that.
From the Tamarin code, I was able to conclude that removing an element from the aray would split it in two parts, a dense array and a HT.
And with the checkForSparseToDenseConversion function, Tamarin was connecting back spliced parts of the arrays.
But the thing is: No lower limit for the HT is set when splitting the array in two…
Using the techniques I’m going to explain, it’s possible to do about anything in any flash application.
If you have ideas or solutions for some of the techniques, please make a comment!
Stating the obvious:
SWF are easy to decompile to get the ActionScript code.
Application like “Sothink SWF decompiler” can do that in no time. Next…
Browser can cache downloaded SWF to run faster on future access
IE cache its file under “C:Documents and SettingsUSERLocal SettingsTemporary Internet FilesContent…
To capture the enemy's entire army is better than to destroy it; to take intact a regiment, a company, or a squad is better than to destroy them. For to win one hundred victories in one hundred battles is not the supreme of excellence. To subdue the enemy without fighting is the supreme excellence.