Starling is a flash based game engine, perhaps most famous for Angry Birds. For some time the primary maintainer has been quietly pounding away on the next version. Today (actually a couple days ago, this news item slipped through my net, sorry about that) Starling 2.0 is available and it’s a pretty extensive update. Behind the scenes there were a number of fundamental changes, such as the addition of a mesh class as well as the addition of render cache.
The render cache has a pretty profound effect on CPU load, as illustrated by this graphic demonstrating Starling 1.7(upper) vs 2.0(lower) CPU usage:
The filter API was also rewritten, to make use of the new render cache and improve functionality. Finally there were several convenience changes:
TextField class is now accompanied by the new TextFormat. The setup is quite similar to classic Flash — but without the pain of constantly having to re-assign the format for changes to show up. In Starling, when you change the TextField's format, it's going to be updated right away!
TextField class also includes a new wordWrap property.
Image class contains two new properties: scale9Grid and tileGrid. For Feathers-users, this will sound familiar: they replace
- All Display Objects can now be scaled uniformly with a single property: scale.
- My personal favorite: the new pixelSnapping property, which is enabled per default, makes sure that all objects are rendered as sharp and crisp as possible. No more casting to
int to avoid blurriness!
- You can now attach "frame actions" to
MovieClips, i.e. code to execute at certain frames.
- The Pool provides simple object-pooling for standard classes like
- The juggler now supports
uint handles for
IAnimatable removal, which prevents nasty pooling bugs.
Full details of the release are available here.