January 2009


Astro & Flash29 Jan 2009 10:56 am

People are probably getting tired of me saying that Flash Player 10 is my favorite version of Flash Player ever (even though I keep wanting to tell Flash Player 8 to cover its ears when I say that). Today though, I can really see that a lot more people agree with me. After releasing Flash Player 10 on October 15th, we started seeing a great adoption of Flash Player 10.

When it came time to run our December study, which runs for two weeks at the beginning of December, we were at only a month and a half of deployment. By the end of the study it was a nice round two months. Until Flash Player 9, the normal expectation would be a report of about 20-30%. In the Flash Player 9 days that would be in the 30-40%.

For Flash Player 10, the new number is 56%. That means that over half of the Internet connected world installed a new technology within 6-8 weeks! I’m really just floored. I’m also pleased to say that in the month and a half since the study was run, we are still deploying Flash Players like crazy, so we are really way past 56% as of today. How far past? I have my guesses, but I’d rather wait for the March wave of the study.

What I do think is a safe bet is to start developing for the Flash Player 10 profile whether you use Flash Professional or Flex. Go forth and transform the web with 3D transformations, custom filters and effects, dynamic sound, and all of the other features it takes me about an hour to list off. ;)

Adobe & Flash & WIWTW19 Jan 2009 04:53 pm

In the last couple of months, I’ve gotten a lot of questions around multi-core support. Most of that has been around PixelBender, but there have also been questions around the rendering support added in 2007, and about ActionScript, which still runs on a single thread.

In a much belated continuation of my series “Why it works that way,” I wanted to share with you a quick question I was asking Flash Player engineering. The question was: “Why does ActionScript always run on the first core?” This was really getting at: “Why can’t we spread the love around and round-robin ActionScript to a different core based on how many Flash Players are running at once?”

I figured that if ActionScript were running on processor core A for one SWF and processor core B for the second SWF, the general performance of both SWFs would be better right? Well, it turns out I had a incorrect assumption here, and by clearing that up showed something interesting (at least to my naive self). It turns out that it isn’t always the first core. ActionScript runs on the same core as the HTML page that hosts it.

If you happen to have two pages, or two tabs running in different processes that happen to be running on different cores, the ActionScript will be running on different cores. While there isn’t much (anything) you can do to get people to run Flash instances on different processors, I found the reason for why it runs on the same processor as the browser is both interesting and sort of “duh” at the same time.

The reason for both the browser and Flash Player running on the same processor is to specifically keep ActionScript synchronized with the page. This allows for the SWF and the page to interact through ExternalInterface. By having the two systems on the same core you won’t run into lots of strange errors where an application that relies on both AS and JS works one time, but not the next on the same machine because a slight difference in timing.