Skip to content
January 30, 2013 / Daniel Freeman

Adobe’s cut-price roadmap and MC3D”next”

Nine days ago, I outlined my plans for an AS”next” based port of MC3D, and a derived Flex framework.  A lot can happen in nine days.  Today, Adobe released a new roadmap, and it turns out that AS”next” isn’t going to happen after all.

The good news is that “Adobe continues to actively invest in enabling developers to create and deploy Flash based content as mobile (and desktop) applications via Adobe AIR.”

The bad news is that there will be no AS”next”.  Hence no long term plans for the Flash Platform.  Adobe’s focus is ridiculously narrow nowadays.  Gaming and Premium Video.

I could speculate that maybe Adobe should form an alliance with Ideaworks (MarmaladeSDK).  Adobe are good at building IDEs that accelerate workflow.  Ideaworks have a powerful cross-platform engine.

I was relying on AS”next” for the evolution of MC3D, because as things stand now – There are too many Stage3D bottlenecks.  As far as I’m concerned, the speed of ActionScript3 execution isn’t as important as the current limitations in graphics rendering.  I was optimistic that architectural improvements in AS”next” would alleviate graphics rendering bottlenecks.

Now that there is no AS”next” – I hope that Adobe will focus on changes to AS3, and the current VM that will make it more capable.  So this blog-post is about how Adobe should improve AS3, and my Stage3D wish list.

Currently, Stage3D is only designed for the Games use-case.  Most games are economical with their use of textures.  And typically, load the textures at the start.  So they can benefit from ATF compression.

User Interfaces, on the other hand, require a lot of texture surfaces.  Textures are generated on-the-fly.  And sometimes we want to manage texture memory usage by uploading and dispose of textures on-the-fly.  If the UI is changing or scrolling rapidly, then the speed of texture update will dictate how quickly and smoothly the UI experience can change or scroll.

Stage3D isn’t very good at UIs, because it can’t upload textures quickly enough.  It’s not very good at rendering components that are elastically-sized depending on screen-size and orientation.  And Stage3D isn’t good at rendering freely-styled text.

Stage3D has been bolted onto the side of AS3.  It only has low-level primitive APIs, and it’s mostly good at moving bitmap textures around.

The Display List has mature and sophisticated APIs that are good at vector graphics, and freely-styled text.

It would be great if there was a fast way to accomplish bitmaps, vector graphics, and text – all rendered in Stage3D.  Maybe I just need fast graphics and text APIs that “draw” onto a BitmapData, or directly to a Texture.   We wouldn’t need the display-list if there was a pure Stage3D way to accomplish that.  (I’d settle for handling mouse collision-detection myself if it wasn’t provided).

Apart from better Stage3D graphics, I want a smaller captive runtime for mobile AIR apps.  Attaching only the libraries that you’ve used.  This is another feature I was expecting in AS”next”.  Now, I’m hoping that Adobe will introduce it in AS3.

What if the compiler could optionally just leave out the Display-List libraries if we’re not using them?  What if the root class of a Stage3D app doesn’t need to extend Sprite anymore?

I hope that Adobe are already planning to take some of the AS”next” ideas, that were originally destined for AS”next”, and incorporate them into AS3 instead.  If they can fix some of the Stage3D limitations, then why not make AS3 execution faster?  Possibly a stricter compile mode, that restricts you to using a sub-set of AS3 in a strongly-typed fashion, but results in faster object code.  And faster floating point types.

AS3, AIR, and Flash have the potential to be great for cross-platform development across mobile devices, desktop, and browser.  We’re 99% there.  I just hope Adobe are committed enough to put in that extra 1%.


For community discussions about MadComponents/MC3D, come and join the facebook page:-

There will be an online Stage3D conference scheduled for 22nd February. The event is free, and you can register here:

I’m presenting something about MC3D, and my future plans for MC3D.

The Stage3D Facebook group is here:



Leave a Comment
  1. Maxim Firsoff / Jan 30 2013 3:42 pm

    This is the beginning of the end.

  2. Jason / Jan 30 2013 4:16 pm

    Your comments regarding texture uploads and user interfaces is spot on. That’s my main bugbear with using Starling and Feathers at the moment, the time it takes and the UI locking that occurs when either generating textures or uploading them to the GPU.

    Hopefully Flash Player “Geary” which is slated to have the following additions will help in this respect:
    – Additional runtime texture compression support for Adobe AIR (PVRTC & ETC)
    – New ATF compression options for 2D games

  3. Alexis Bouhet / Feb 4 2013 10:15 am

    This is why i still use GPU renderMode. Faster texture upload, great vector drawing, quick and efficient text engine…

    • Daniel Freeman / Feb 4 2013 11:16 am

      GPU rendermode is indeed very powerful, and still recommended for MadComponents if you’re not utilising the MC3D classes.

      GPU rendermode was the first casualty to Adobe’s cost-cutting measures. I started writing the MC3D classes when they announced that there would be no further development on it. GPU rendermode was going out of favour, because we knew that AS”next” wasn’t going to support it, nor the display list. But now that AS”next” isn’t happening – It doesn’t look like we’re losing GPU rendermode any time soon.

      Have you seen Shawn Blais’ benchmarks?

  4. Jason Langdon / Feb 4 2013 10:54 am

    Bit of a follow up to my previous post – I’ve been following a very active discussion on Joseph Labrecque’s Google+ page ( and was compelled to write my own blog entry with some thoughts. Feel free to check it out and let me know what you think –

  5. Florian / Feb 4 2013 3:53 pm

    Hi there,

    If, like me and many other AIR developers, you’d like to have background tasking on iOS/Android when renderMode=GPU, please vote and comment on this ticket:

    It’s our only chance to see Adobe react about that huge (mobile) problem!



  1. Adobe’s cut-price roadmap and MC3D”next” « eaflash

To discuss MadComponents/MC3D, join the Facebook group!

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: